- November 17, 2006 - Texture coordinate generation and flickering
I fixed quite a large amount of bugs, but the 2 most important ones, would be the ones from topic: texture coordinate generation and flickering.
The first one is quite simple, as most PC hardware, the DS supports texture coordinate generation. This is used, for example, if you want to have a pool with water, the water being a texture mapped plane, and want it to seem to wave: instead of having a large amount of geometry, just generate the texture coordinates varying to get the visual effect of waving. I had made an implemention long ago, but I always found samples which rendered wrong, and then when I fixed one of them, another was broken. The bug was rather stupid: as openGL and DS texcoord generation doesn't map 1:1, I just pre-transformed them, and then sent them to openGL. The problem, was that I was not resetting the texture matrix, and as a such, at last they got pre-transformed by me, and then transformed by openGL. Stupid bug of the year, for sure.
Flickering was a damn annoying bug, which I never got enough motivation to fix, it "just" involved retrieving the openGL framebuffer, then copying it to BG0, and send it to the layering pipeline that desmume uses. Sounds simple, in fact it's simple to implement, but the code is ugly, probably slower than it should be, and, by the fact it has to be transformed from 24bit to 16bit, it looks a bit uglier (as in the DS, :P)
And more, or less, that's all for today, let's just put the usual screenshot:
For further references on texcoords, here you can find a nice explanation.
Have fun :)
(-).png)
Super Star Trek (19xx)(-)
Игры ZX Spectrum
» Картриджи SEGA (оригинал или нет) 06:43
» PS2 Slim 70xxx SD Mod (IDE to MicroSD) 06:30
» [PS2] Ghost in the Shell: Stand Alone Complex 05:54
» Вопрос по стикам для Gamecube пада 05:15
» Bios для японских PS1 03:08
» Флэш-картридж для SNES 800 in 1 super everdrive выдает черный экран 03:00
» [PS1] Программы для простого перевода игр 02:59
» Clockwork Aquario - возможно ли извлечение ROM-ов? 02:06
» [SMD] EHODRIVE - кастомная плата Sega MD для установки в классический корпус 01:17
» Sega Mega Drive 2 VA-7 01:01
» GBA флеш картридж 00:40
» [All] Показалось? 00:10
» [PS3] Реплика DualShock 3 не работает на Android. 23:51
» DuckStation - эмулятор Sony PlayStation 23:10
» Во что сейчас играем? 22:59