Looks like this thread is gonna be closed. :sad: I never thought i would learn so much from it when I started this thread almost an year ago.
I have myself learnt 'A LOT' of new things from this thread. I want to thank all the people who have posted some cool things.
There were a lot of point-less 'post-count++' arguments. Its like one nice thought with a good-point, followed by 5 to 10 args. BIG Thanks to everyone for sharing your knowledge with us. Its not ATI, nVidia or EA that propel this industry. Its the community. I am a self taught game coder. I never attended a class. What ever I learned is what the community taught me.
I am pretty much convinced Real time ray tracing is the 'WAY TO GO'. I am no interest to further arguments on the above statement.
Argument is essential to any research area. Point-less arguments slow things down. There gotta be a balance. Its just that we always have a lot more issues coming up to think (or argue) about. Someone was arguing about how we can do inter-relations & render 10 reflective objects using 10 RenderTexture Cube maps.
10 Cube maps??? 60 RenderToTexture operations ???? :wallbash:
Mature argument?? Yeah sure...
Okay - this kind of thread always gets hijacked by the raytracer people who are desperate for anything that will free them from the endless wait for a render
Its not about Ray-tracer people or Rasterizer people. Its about Real-time people. Its all about reducing that endless wait period for a render. About getting close to reality at real-time rates.
We need monitors that can reproduce the high luminance seen in reality
Yeah those HDR monitors arent all that great. Higher range adds up to the realism factor. But, there are many other things. For now, we are faking it good pretty well.
Sweeny said that some years down the line, we would go video-like. We 'd have that kind of processing power. Monitors would be the bottle neck from then on.
For the next few years, we would be going towards getting the color (brightness, whatever.. ) of pixels right and go photo-real. Right now the gap is wide enough to keep us busy (and thread bloating :wallbash: ) for sometime. Then we would hit the limitations of resolution.
From then on its not about 'Photo-Realistic' but 'Eye-Realistic'. Its not easy to convince a human's sense of vision.
But, for now, we need to live with GPUs for a while. There is a lot to desire on GPU side.
I am not comfortable with the Stream based GPU architecture. Programmble shaders. We are inside a for-loop iterating over vertices & pixels. You can only write code inside the inner loop. Our existing rendering techniques can be simplified & improved significantly when dealing with render data as a set. not per-element.
Currently we are just hacking to overcome this problem. Render-To-Texture and more recently, Render to VertexBuffer ( WTF ). Current engine development is like stacking up more hacks over & over and making them work together.
Hacks = Code entropy + Art-Pipe entropy
In one of those GDC Videos, ATI's Render monkey chick was talking about something like
"Dynamic Image-Space Per-Pixel Displacement Mapping with Silhoutte Antialiasing via Parallax Occlusion Mapping."
Thats a SM 3.0 shader (nvidia only) and a single quad brought my 6800 Ultra to its knees (in a shader-visualizer. not a game ). All this for some shadowing on normal-mapped stuff (plastic-mapped). Gimme a more decent hack. ( And with a shorter name that i can remember ).
Most of those presentations are trying to push PRT. PRT does not interest me, for now. And those Ruby demos arent all that great either. Dawn's skin looks much better than that of Ruby.
Those caustic-mapping screens looked good. The numbers dont. I read their paper and I liked it a lot. Best shader based caustics (and also fastest) i've seen.:cool2: But, 30 FPS on a 7800 GTX (a few bunch of polys). May be for my next engine.
Rasterizer GPU development may hit fabrication limitations soon and they will go parallel. I wont be surprised if they tell us to code for 2D 'Cell' GPUs. And then 3D, Volume GPU matrices.
More flexible dynamic control-flow is desired ( especially pixel shader ). Lock-step execution of GPUs are a bit irritating. They said, its better to avoid checkered (high frequency) textures for good speed. I wont try telling it to our artists.
And ofcourse memory allocation on GPU. I am not keen on General Purpose stuff on GPUs. Physics hardware and such is coming anyway.
Currently I am researching Procedural-data generation. Natalya put a good paper on the topic ( ATI developer site )
Once again, so many thanks to all of you guys for sharing your thougts & also for the arguments.
Happy hackin people... :yes:
C ya people... Peace