I wanted to get 3D stuff put onto my Prizm for a bit now. Sure, I looked at Doom and such, but never went ahead with anything.
Now, I have been testing a 3D renderer that uses parts from Vincent 3D, an OpenGL ES rendering library, and other custom code. It works nicely so far (after fixing a few things and removing ties to stdlib stuff).
Here is a demo of a spinning diamond, 36 vertexes, with two lights in the scene. It has a vertex and fragment shader doing the lighting and matrix math non stop. I will post more about this when I experiment more with it, specifically speed ups (although it has already been optimized over a while) and other feature tests.
A video is included a few posts down.
NOo... 3D in Prizm?
/me ... HUH?
THanks, we're closer than ever of Minecraft!
After some gigling, and dreaming, I saw that there are some pixels bugs, and rotation bugs, but it's mainly done
what sort of bugs? The pixels at the top left are the heartbeat monitors. The edges getting cut are from the perspective matrix. I didn't move it back đ
Okay, i GOt it...
Next: textures?
I will do that later on (the code is there and should work).
next: screenshots or video?
Do you have recommendations on capturing it? I lack fancy cameras that can do close-range video capture, unless I have one somewhere else...
^Soon?
AHelper wrote:
Do you have recommendations on capturing it? I lack fancy cameras that can do close-range video capture, unless I have one somewhere else...
I just use the camera in my phone, it doesn't have to be a fancy camera...
You can use Casio ScreenReceiver - youtube's blocked for me đ
There is your capture : (it's faster on emulator, but the speed is reduced by gif format)
Great job AHelper
đ
Thanks for the gif! I wonder how well it will work on the emulator if I put the rendering size to full screen instead of 150x150...
I hate to be a pain, but...most image hosting sites are blocked here too. (K9 web protection=major PITA) Would you mind hosting on removedfromgame.com?
Awesome! Can I safely assume that those little red pixels are for debugging purposes? Also, why is the rendering window so tiny? I presume there's a good reason for that. đ
1) The blue dots are the phases of the renderer. The red ones are conditionals for the fragment shader. The two flashing ones are just to show changing frames.
2)Think first: The fragment shader is called for every pixel in a shape. A huge render window with every pixel operated on takes a long time, 3-4 fps. A tiny one, 100x100 is limited by the LCD speed and not the engine, 150 is a nice size.
RE: Doom
That wouldn't have worked for what you wanted to do, because Doom uses raycasting, and is not true 3d. Raycasting uses some assumptions (like the world is made up of cubes, and some stuff about ceilings and floors). This means that it can't display even the simple wireframe cube. For more info, see this
excellent tutorial.
seana11 wrote:
RE: Doom
That wouldn't have worked for what you wanted to do, because Doom uses raycasting, and is not true 3d. Raycasting uses some assumptions (like the world is made up of cubes, and some stuff about ceilings and floors). This means that it can't display even the simple wireframe cube. For more info, see this
excellent tutorial.
Somewhat incorrect. Doom's engine is based on raycasting, but it allows height mapping, different shapes, in addition to many other things.
And since versions of the Doom source are available, I entirely expect that some time this year one of the many of us (myself, Merth, and AHelper at the very least, probably others) who have expressed a wish to port it over to the Prizm will succeed in getting around to it.
AHelper: That's what I was afraid of re: the window size. âšī¸