From 7512c1e767ff115d00a64ac6c2878d2e756ff9ab Mon Sep 17 00:00:00 2001 From: Luke Benstead Date: Sun, 10 Mar 2019 19:59:34 +0000 Subject: [PATCH] Fix GL_ALPHA_TEST sample --- GL/flush.c | 2 +- samples/paletted_pcx/main.c | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/GL/flush.c b/GL/flush.c index b567d61..0b9dd8b 100644 --- a/GL/flush.c +++ b/GL/flush.c @@ -41,7 +41,7 @@ static void pvr_list_submit(void *src, int n) { static void _glInitPVR() { pvr_init_params_t params = { /* Enable opaque and translucent polygons with size 32 and 32 */ - { PVR_BINSIZE_32, PVR_BINSIZE_0, PVR_BINSIZE_32, PVR_BINSIZE_0, PVR_BINSIZE_32 }, + {PVR_BINSIZE_32, PVR_BINSIZE_0, PVR_BINSIZE_32, PVR_BINSIZE_0, PVR_BINSIZE_32}, PVR_VERTEX_BUF_SIZE, /* Vertex buffer size */ 0, /* No DMA */ 0, /* No FSAA */ diff --git a/samples/paletted_pcx/main.c b/samples/paletted_pcx/main.c index 519ca55..8cb52fc 100644 --- a/samples/paletted_pcx/main.c +++ b/samples/paletted_pcx/main.c @@ -179,17 +179,16 @@ void LoadGLTextures() { // border 0 (normal), rgb color data, unsigned byte data, and finally the data itself. glTexImage2D(GL_TEXTURE_2D, 0, GL_COLOR_INDEX8_EXT, image1.width, image1.height, 0, GL_COLOR_INDEX, GL_UNSIGNED_BYTE, image1.data); - glBindTexture(GL_TEXTURE_2D, textures[2]); - glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER, GL_NEAREST); char* new_palette = (char*) malloc(image2.palette_width * 4); for(i = 0; i < image2.palette_width; ++i) { new_palette[(i * 4) + 0] = image2.palette[(i * 3) + 0]; new_palette[(i * 4) + 1] = image2.palette[(i * 3) + 1]; new_palette[(i * 4) + 2] = image2.palette[(i * 3) + 2]; - new_palette[(i * 4) + 3] = 0; + new_palette[(i * 4) + 3] = (i == 2) ? 0 : 255; } glColorTableEXT(GL_TEXTURE_2D, GL_RGBA8, image2.palette_width, GL_RGBA, GL_UNSIGNED_BYTE, new_palette); @@ -204,7 +203,7 @@ void InitGL(int Width, int Height) // We call this right after our OpenG glEnable(GL_TEXTURE_2D); glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // This Will Clear The Background Color To Black glClearDepth(1.0); // Enables Clearing Of The Depth Buffer - glDepthFunc(GL_LESS); // The Type Of Depth Test To Do + glDepthFunc(GL_LEQUAL); // The Type Of Depth Test To Do glEnable(GL_DEPTH_TEST); // Enables Depth Testing glShadeModel(GL_SMOOTH); // Enables Smooth Color Shading @@ -282,6 +281,8 @@ void DrawGLScene() glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear The Screen And The Depth Buffer glLoadIdentity(); // Reset The View + glEnable(GL_SHARED_TEXTURE_PALETTE_EXT); + glTranslatef(-1.5f,0.0f,-8.0f); // move 5 units into the screen. glPushMatrix(); @@ -299,6 +300,8 @@ void DrawGLScene() DrawPolygon(); glPopMatrix(); + glDisable(GL_SHARED_TEXTURE_PALETTE_EXT); + glBindTexture(GL_TEXTURE_2D, textures[1]); glTranslatef(3.0, 0, 0); DrawPolygon();