hmw
Still Fresh
So here is a first build of the little dodge demo of Vincent for GP2X, you can download it here. Usual procedure, unzip, copy to root folder of an SD, launch as game.
What is Vincent?
Vincent is a OSS project working on an implementation of the OpenGL ES 1.1 API for mobile devices. More information on this API can be found on the Khronos web site. The library is actually feature complete, so the major focus at this point is ports to new platforms, performance improvements. The library is using a small JIT to compile certain parts of the rasterizer on the fly. This code generator might also be useful for other hacks.
A couple of things to note:
HM
PS: Thanks to slygamer for providing first versions of egl and surface. Besides those pieces and changes to the configuration headers, there was actually really not much to do to get things going on gcc; looks like you started of a source tree before the gcc support got merged down into the HEAD.
What is Vincent?
Vincent is a OSS project working on an implementation of the OpenGL ES 1.1 API for mobile devices. More information on this API can be found on the Khronos web site. The library is actually feature complete, so the major focus at this point is ports to new platforms, performance improvements. The library is using a small JIT to compile certain parts of the rasterizer on the fly. This code generator might also be useful for other hacks.
A couple of things to note:
- 1. Yes, it's upside down; I haven't changed slygamer's surface/egl classes yet. On other platforms, there is ususally a coordinate transform as part of the blit. Alternatively, the surface class for GP2X could accommodate flipping the y-axis.
- 2. It's using the JIT, and I still need to find a good solution for the cache flushing, resp. see if there is not already a suitable function in the kernel.
- 3. Speed: I'm not too thrilled yet; have seen better on 200MHz ARM. The new rasterizer should take improve things a bit. For some discussion and some numbers, see here.
- 4. Some visual artifacts: I turned some parameters lower than for a "conformance" build, but behavior should be comparable to, say, Klimt. Changing the rasterizer to the plane based approach should yield a better performance/quality trade-off.
- 5. Slygamer is using some code which I am not sure is compatible with the current license of Vincent. For the official version, I will proably base the surface on SDL. If folks are wokring on accelerated blitting etc. for SDL, this could be directly benefitted from. Comments? I checked the VS 2005 projects etc. into source forge, though.
- 6. I saw discussion about creating a pipeline that runs on the 940. My suggestion would be an approach where the geometry and light is executed on the 920, and the 940 is doing rasterization only. Main reason for this proposal is the smaller cache size. Anyone having any thoughts on this?
HM
PS: Thanks to slygamer for providing first versions of egl and surface. Besides those pieces and changes to the configuration headers, there was actually really not much to do to get things going on gcc; looks like you started of a source tree before the gcc support got merged down into the HEAD.