gnomish wrote:slime wrote:Jasoco wrote:The part I'm most interested in is the pixel depth shading. (Texture clipping when models overlap) This is the first time I've seen it done in Löve. I'd be interested in seeing a real stress test however. How would it handle a large scene with many models?
About as well as any 'real' 3D game, since it uses the same hardware functionality.

Exactly.
@Jasoco: This demo I posted is not like the 3D work you've been doing -- which is much more impressive, btw. If I'm not mistaken, you're writing a 3D rasterizer. With my demo, I was simply trying to find a way to inject a call to glEnable(GL_DEPTH_TEST).
I would kill to have pixel depth shading though. Without it it means all my quads (I have to use 4 corner quads instead of triangles because of the way my texture library works) are sorted as it by depth and if something is complex, you get improper z-sorting on certain polygons which looks terrible. Plus it means I can't have shapes intersect with other shapes as it will draw the entire polygon instead of clipping it.
I don't know how your demo really works even though I looked at the code, but as soon as I saw the two chests intersect with each other, you got my attention. Plus the detail and texturing of the model in that example was lovely. It's the style I'd love to go for but can't because of my limitations.
I'd always wondered if there was a way to take all my polygons, throw them into a shader with each ones four screen x and y and distance from camera for each corner and have it draw everything all at once with each textured polygon intersecting properly.
But thanks for saying mine is impressive even though it's quite simple and limited. Perhaps you'd like to go into more detail about what exactly is going on in this demo?