I have run the tutorial4-light in the following URL with vincent libarary.
But found some artifacts(white dots) in the display.
And what make me suprised is that when I EGL_LOG_RASTER_BLOCK_SIZE define in OGLES to 4,
more artifacts were found,
#define EGL_LOG_RASTER_BLOCK_SIZE 4
When I change EGL_LOG_RASTER_BLOCK_SIZE to 0:
#define EGL_LOG_RASTER_BLOCK_SIZE 0
It seems that there is no artifacts in the display!
I really do not know what's the reason of that.
The larger EGL_LOG_RASTER_BLOCK_SIZE is, more artifacts were found.
Would you like give me a explain or correct it.Thanks.
Also,I test the following fog example and met the same problem!
Can you attach a screen shot for EGL_LOG_RASTER_BLOCK_SIZE = 0 and EGL_LOG_RASTER_BLOCK_SIZE = 3?
(I don't think a block size > 3 will work, because you will need more than a byte to represent the pixel mask).
I was out of office for a week.
I have port vincent to vc6.The artifacts were found in the vc6 applicaions.
I have trace the code.I found the artifacts when varying0[m_VaryingInfo.colorIndex] is negtive in RasterBlockColorAlpha function.So the negtive number is clamp to zero and the display is black(artifacts)!
I try to trace the code now.
And In Rasterizer.h:
#if EGL_RASTER_BLOCK_SIZE <= 8
typedef U8 PixelMask;
#elif EGL_RASTER_BLOCK_SIZE <= 16
typedef U16 PixelMask;
typedef U32 PixelMask;
So I think a block size = 4 or 5 will work with U16 and U32.
I do not know how to post the screen shot picture here.
When you submit a bug or support request, you can attach one or more files.