Discussion on the implementation of tessellation in the Xbox 360.

im very interested to know how you deal with this, as with any subdivision technique ive used over the years, it has ALWAYS involved an artist to place the nessacary geometry to constrain the rounding.

Their paper deals purely in normals for their error metric, so any vertex movement that dramatically changes the normals of all triangles connected to it gets flagged as "high error", and hence ends up very far down in the edge collapse priority list. Since it's just normals, no extra artist involvement is needed. The reason it works at preserving contours is that a contour implies local geometry at somewhat different angles from immediate surrounding geometry, and hence any play in those verities generates a high error value. Like if you have a cube mesh, collapsing an edge starting from a corner vertex would cause mass error, as all surrounding triangles suddenly change their normals dramatically. Note as well that their technique is purely subtractive, it's meant to start from the best quality mesh and work down from there.

If left unchecked, such as if you try collapsing 70% of all edges, then for sure in some mesh contours will disappear. But you can mitigate this by setting an error cap. For example, collapse edges until the lowest error exceeds a certain 'max allowed error' threshold, then stop. So if you fed a cube mesh into the system, it would emerge on the other end untouched, however a piece of terrain may drop 40% of it's verts, etc...


also, an artist needs visual feedback while modelling, unless you can get your technique into the modelling application, then the artist has no way of knowing how his model with look subdivided until exported.

so until im shown somthing thats workflow / toolchain usuable, with man-hour and reasonable hardware savings...then tessalation to me is restricted to a very small set of usuable scene elements.

Yeah I hear you on that. I've never written a Max/Maya plugin, but maybe it's possible to implement this right in the art tool itself. If not, you can always write an export tool that spits out the mesh they are working on into a directory, then they run a console side viewer app to see how it looks. But then someone has to take the time to write all this stuff :)
 
Yeah it is, or I guess you could call it a de-tesselator since it starts with the best mesh generated by art, and yanks stuff out after that.




It is multi platform, I'm only involved on the PS3 side though. Some of the stuff I do inevitable trickles over to 360 if it benefits from it. I don't know if the 360 guys will need the mesh stuff I'm working on, I think they are primarily pixel shader bound. But if they do, I think it will be possible to run it on 360 as well. The bulk of the processing gets done offline tool side, in the game it just uses that hint data to rebuild index lists, which mostly amounts to shuffling a small bit of memory around.
Thanks for the reply. After reading the approach of your method and how helpful it is for the artists, in the future all graphics will be tessellated, I guess.

Once we get rid of the CISC processors (look at Wii's performance, I think both the CPU and GPU are CISC processors) and with RISC processors that proliferate these days we'll see more complex techniques like this.

The post CISC era looks really promising. Here is an article on the CISC vs RISC issue, for those interested:

http://www.heyrick.co.uk/assembler/riscvcisc.html

RISC processors are clearly better at handling complex instructions. Cheers!
 
PowerPC are risc processors.
Right. Sorry, I can get a bit hot-headed sometimes so I'll try to focus on becoming much more laid back and level headed when talking about technology and learn to keep my mouth shut when I don't know what I'm talking about. I'll calm down, I promise :D. I'm a the typical impassioned and heated-up fan regarding RISC processors
 
Right. Sorry, I can get a bit hot-headed sometimes so I'll try to focus on becoming much more laid back and level headed when talking about technology and learn to keep my mouth shut when I don't know what I'm talking about. I'll calm down, I promise :D. I'm a the typical impassioned and heated-up fan regarding RISC processors

There is power pc and power pc :(

X360 CPUs or Cell PPU are low spec powerpc. They cut the Out of order part to reduce cost. This choice made the CPU easy to saturate for nothing, always look at the disassembly generate by the compilator :s

Intel last In order CPU was the first Pentium and will make a come back in larabee but that's another story :)
 
Back
Top