If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
![]() |
|
|
#1 |
|
Beyond3d isn't defined yet
Join Date: Jan 2008
Location: New Zealand
Posts: 3,038
|
Save memory, produce more detailed models and speed up processing all at the same time. It sounds too good to be true, and yet thats what being promised with direct 3d 11. They went on to say that the Xbox 360 is compatible with this implementation but im not sure how far the compatibility goes.
The documents I saw from AMD and Microsoft seem promising, and yet I still have to question (and hopefully recieve answers) on how we might take one underused tessellation engine on the Xbox 360 and put it to use. So yea, I have some questions perhaps someone whos knowledgeable could please answer them so I can put this confusing matter to rest. 1. How far apart are the promises in the documentation and the reality we might see in the field? Whats the reality of tessellation as of today? 2. Are there other benifits to Tessellation to the Xbox 360 beyond the models themselves such as "Easier development of models?" and perhaps reduced disk space usage. From my laymans perspective it does seem like a form of procedural generation. 3. If you implement tessellation on the Xbox 360, what does it mean from the perspective of crossplatform equality with the PS3? From this, is it worth it for a Xbox 360/PS3 cross platform title? |
|
|
|
|
|
#2 | |
|
Grumpy Mod
Join Date: Dec 2004
Location: In a pretty pink padded cell
Posts: 26,030
|
Quote:
It's something SPU's are well suited to, so it probably wouldn't impact cross-platform in a huge hardware dependent, feature-missing way. However it'd be dependent on developers being able to code the engine on PS3 where DX handles it for them, and balancing Cell's workload with everything else it's doing compared with XB360 where the tesselator is otherwise twiddling its thumbs..
__________________
Shifty Geezer ... Tolerance for internet moronism is exhausted. Anyone talking about people's attitudes in the Console fora, rather than games and technology, will feel my wrath. Read the FAQ to remind yourself how to behave and avoid unsightly incidents. |
|
|
|
|
|
|
#3 | |
|
Member
Join Date: Oct 2008
Posts: 632
|
Quote:
you can see the textures look better than the PC version. X360 = tesselation ON PC = Tesselation OFF you can see on cutscene, see the face of the first lizard-like alien (cant remember the name) thanks |
|
|
|
|
|
|
#4 | |
|
Iron "BEAST" Man
Join Date: Mar 2007
Location: NGC2264
Posts: 8,383
|
Quote:
It looks noticably better on PC, devs have said they uppgraded textures for PC version... they did it.
__________________
"If you told me that if I ate a kilo of shit I would put on a pound of muscles, I would do it." -Arnold Schwarzenegger |
|
|
|
|
|
|
#5 |
|
Senior Member
Join Date: Aug 2004
Posts: 1,855
|
If I remember correctly, the few devs on B3D who have commented on the 360's tesselator sort of implied that its inflexibility reduces its usefulness.
|
|
|
|
|
|
#6 |
|
Senior Member
Join Date: Nov 2002
Posts: 4,164
|
Even if the 360 version did have beter looking textures, that wouldn't have anything to do with tessellation. Tessellation improves geometry, not textureing.
|
|
|
|
|
|
#7 | |
|
Beyond3d isn't defined yet
Join Date: Jan 2008
Location: New Zealand
Posts: 3,038
|
Quote:
So really its applications are limited to certain areas? Its not something useful to apply wholesale to an engine? |
|
|
|
|
|
|
#8 |
|
Grumpy Mod
Join Date: Dec 2004
Location: In a pretty pink padded cell
Posts: 26,030
|
I don't know! It depends on hardware implementation, and how much effort devs want to go to, plus all the fine details. In theory, you could have RAM saving, higher quality High Order Surfaces defined as curves instead of meshes and have them tesselated in realtime to the LOD required, but Laa-Yosh has pointed out lots of artistic troubles with that. At the moment I can't see it being more of a subtle technique used on occasion.
__________________
Shifty Geezer ... Tolerance for internet moronism is exhausted. Anyone talking about people's attitudes in the Console fora, rather than games and technology, will feel my wrath. Read the FAQ to remind yourself how to behave and avoid unsightly incidents. |
|
|
|
|
|
#9 |
|
Senior Member
Join Date: Mar 2008
Posts: 4,928
|
Doesn't ati have this in the r600 and above gpus for the pc also ?
|
|
|
|
|
|
#10 | |
|
Member
Join Date: Jul 2004
Posts: 113
|
Quote:
If you want models that are smooth, round and evenly dense, then tessellation can help a lot. If you want flat surfaces, hard edges, uneven density or lots of small details than tessellation won't fit. Displacement mapping helps add some kinds of small details, but it also pushes up the break-even point vs arbitrary polygons. So, no. It's not useful to apply wholesale. It's getting a lot easier and more usefull --the recent papers that map catmull-clark subdvision to bezier patches is a big step forward in artist-friendliness. But, there really wouldn't be much point to tessellating the buildings in Half-Life 2 for example. You would just end up with a slower scene that looks almost exactly the same.
__________________
The opinions expressed herein are my own personal opinions and do not represent nAo's employer's view in any way. |
|
|
|
|
|
|
#11 |
|
Regular
|
My understanding is that D3D11 provides a one-pass tessellation pipeline, but XB360/R6xx/RV7xx tessellation requires multiple passes and requires the use of VS and PS programs to take the place of Hull Shader and Domain Shader programs in D3D11.
These multiple passes in pre-D3D11 hardware consume memory bandwidth since "vertex buffers" have to be created to hold the intermediate data, for consumption by the next pass. It's kind of similar to the use of render to vertex buffer in DX9 GPUs which was used to provide a preview of Geometry Shader functionality before D3D10 arrived. Mathematically the XB360 tessellation calculations should be the same as the D3D11 calculations. It's just that the data formats in D3D11 are a better match for the process, and the inter-stage data doesn't have to take a trip off-chip. So it's prolly notably simpler in D3D11, overall. AMD provides some kind of SDK that exposes some internals of the PC GPUs to better support tessellation (may be only RV7xx though - I get the feeling that there have been revisions with each generation of this hardware). Overall, tessellation is a proper brainache, e.g. dealing with holes that form where there should be a continuous surface. The major artwork problem is that it requires a different process and data-structures to implement models, e.g. for characters and their animations. Jawed |
|
|
|
|
|
#12 |
|
yes, i'm drunk
|
Basicly the same yes, exactly, no.
__________________
I'm nothing but a shattered soul... Been ravaged by the chaotic beauty... Ruined by the unreal temptations... I was betrayed by my own beliefs... |
|
|
|
|
|
#13 | |
|
Senior Member
Join Date: Dec 2006
Location: So. Cal.
Posts: 2,652
|
Quote:
|
|
|
|
|
|
|
#14 | |
|
Junior Member
Join Date: Aug 2008
Posts: 43
|
Quote:
and for somthing like a car, its extremely hard to justify the base mesh needed, because A. its unusable as a low end LOD, and B. the same reason..the polycount has to be high enough to hold the shape perfectly, that you might only be getting a 20% reduction in overall base polygons. now, once polycounts and hardware get fast enough, this will be extremely viable..where you can sub`d a 100k mesh into a 400k mesh for example...then it works wonders...just like the offline render world. |
|
|
|
|
|
|
#15 |
|
Beyond3d isn't defined yet
Join Date: Jan 2008
Location: New Zealand
Posts: 3,038
|
So has anyone played with the new direct3d 11? I saw from the Microsoft developers conference they were about to send out the first direct 3d stuff to developers.
|
|
|
|
|
|
#16 | |
|
Grumpy Mod
Join Date: Dec 2004
Location: In a pretty pink padded cell
Posts: 26,030
|
Quote:
Regards adding small details, can't these be added by adjusting the created vertices according to a displacement map? The normal map of a car could be used as a template to align and tune vertices, so they don't just sit in the middle between other vertices. i can see then processing overhead being prohibitive, but it doesn't seem to me like there's no work around for the loss of detail from tesselated objects.
__________________
Shifty Geezer ... Tolerance for internet moronism is exhausted. Anyone talking about people's attitudes in the Console fora, rather than games and technology, will feel my wrath. Read the FAQ to remind yourself how to behave and avoid unsightly incidents. |
|
|
|
|
|
|
#17 |
|
Member
Join Date: Jul 2007
Posts: 257
|
Possibly naïf post warning!
Isn't it possible to tag certain parts of the geometry, like hard edges and small-detail sections so they won't be modified by the tesselation process? Shifty's post has an interesting idea (i guess): define models with relatively simple shapes, prone to tesselation, and add all detail through displacement mapping... Hmmm, so much to learn about this, I wonder if reading helps. |
|
|
|
|
|
#18 | |||
|
Senior Member
Join Date: Dec 2006
Location: So. Cal.
Posts: 2,652
|
Quote:
Quote:
http://faculty.ksu.edu.sa/mhussain/P...s/IJMS2005.pdf Before doing that, I process all the verts in a mesh and mark the edge verts as 'untouchable'. Then I perform edge collapses as described in that doc. Their idea is incredibly simple but works very nicely. Long story short, it takes a vert and moves it over to an adjacent vert position. It then takes all the triangles connected to the vert that moved, takes their normals before and after the edge collapse, and calculates error as the sum of 1 - dot ( original normal, new normal ) for each triangle. After it does that for every vert in the mesh, the 'lowest error' vert is flagged as the best one to be removed. Rinse and repeat. It works very nice, and mesh edges/contours are maintained. Plus, I can tweak the algorithm any way I like, for example I can set an 'error max' where a vert never gets removed no matter what if it exceeds a certain error threshold. The hardware or directx solutions are a bit too generic for what I was looking for, so going the custom route has worked out nice so far. Quote:
Last edited by joker454; 27-Oct-2008 at 16:56. |
|||
|
|
|
|
|
#19 | |
|
member
Join Date: Feb 2002
Posts: 7,506
|
Quote:
However, keeping an edge hard requires considerably more geometry, which is why racing games for example prefer to use simple poly models and distribute the detail more efficiently.
__________________
My opinions do not represent that of my employer blah blah etc. |
|
|
|
|
|
|
#20 |
|
member
Join Date: Feb 2002
Posts: 7,506
|
It is an exisiting solution, but it makes asset creation a nightmare...
__________________
My opinions do not represent that of my employer blah blah etc. |
|
|
|
|
|
#21 |
|
Senior Member
Join Date: Feb 2002
Posts: 2,019
|
The tessellation algorithm is identical for Xenos, R600, and RV770. RV770 has additional functionality such that the tessellator can feed the Geometry Shader.
With adaptive tessellation the first pass calculates tessellation factors. If the factor is 1 for an edge it won't be tessellated. I've never implemented this, but presumably you could set the tessellation factor to 1 if the angle between normals is greater than a threshold. |
|
|
|
|
|
#22 |
|
Member
Join Date: Jul 2004
Posts: 113
|
I wasn't clear: I meant that tessellation is not a good fit for flat surfaces when there is no point to tessellating them into visually identical flat surfaces. For example, the ceiling in my room can be adequately represented by 2 triangles and a normal map for fine detail. If it were tessellated, there would be no gain.
__________________
The opinions expressed herein are my own personal opinions and do not represent nAo's employer's view in any way. |
|
|
|
|
|
#23 | |
|
Member
Join Date: Oct 2007
Posts: 638
|
Quote:
|
|
|
|
|
|
|
#24 | |||
|
Senior Member
Join Date: Feb 2006
Posts: 1,821
|
Quote:
I remember this post by you. Quote:
|
|||
|
|
|
|
|
#25 |
|
Senior Member
Join Date: Dec 2006
Location: So. Cal.
Posts: 2,652
|
|
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|