# DirectX 11.1

Discussion in 'Tools and Software' started by Demirug, Sep 14, 2011.

1. ### tabs Veteran

Joined:
Jan 11, 2007
Messages:
1,717
258
Location:
UK
... but what you do then is apply a displacement map to it. There's no point displacing just a few verts, but if you've got lots of them you can get nice details. That's one thing tessalation is useful for. It's a cheap way of giving displacement maps the verts they need to play with. That's how I understand it anyway, and why I couldn't grasp what Otto was on about.

#41
2. ### Humus Crazy coder Veteran

Joined:
Feb 6, 2002
Messages:
3,217
77
Location:
Stockholm, Sweden
Sure you can. Tessellate the cube faces into a dense grid, then do:
Code:
Out.Vertex = normalize(In.Vertex);
And your output is a unit sphere. Multiply with a radius if you like.

Think of it as the layout of the mesh, like how the shape is connected through it's triangles and vertices.

#42
3. ### Davros Legend

Joined:
Jun 7, 2004
Messages:
16,872
4,195
but then humus, novum said "That means you can't change the topology of the rendered mesh" (layout of a mesh to me means size shape (size could be relative to something else i guess and not fixed) and how the triangles make up that shape)
but if you change the flat face of a cube into part of a sphere it has been changed - hasnt it

its late now, tomorrow i'll try and explain how i think how tessellation works
and hopefully someone will tell me where ive got it wrong

edit: decided to do it now ( with pics no less ) do i rock...

imagine the face of a rectangle (in game)
fig 1

so you tessellate it (in this case just a bit) and you create another vertex (the black dot)
fig 2

now you can move (displace) this vertex in the x,y or z plane the info for how its to be moved coming from a displacement map (or similar)

How wrong have I got it....
(and of course you can also use tessellation like a lod sytem or to smooth out shapes)

#43
4. ### tabs Veteran

Joined:
Jan 11, 2007
Messages:
1,717
258
Location:
UK
From a fellow layman POV (I'm happy to be corrected):

Imagine a head. It has a structure to it that you might define with points in 3D space. Joining up the points appropriately (like join the dots, but in 3D) means you have a topology, a flow of polygons that connect all the verts.

There exists good topology and bad topology for the purpose of modelling a head for animation. Good topology means that the face can be animated to make a wide range of expressions without warping, bad topology means, for example, that if your character smiles the corners of his mouth do what they're supposed to but it also makes something else move that shouldn't. This is because the flow is 'bad'. The points can all be in the right place, but you have to connect them to the right other points. You can imagine a join the dots, where you join all the dots, but not to the correct partners.

Hopefully that gives you an idea of what is meant by topology.

Now imagine that you have your wireframe head model. You can subdivide the mesh (tessalate), but the topology remains the same. You can do what you like to the new verts you have created with tessalation but the topology will still be the same. i.e. each vert is connected to the same verts - that doesn't change.

In a nutshell. You can't split or glue vertices together using tessalation. The order they are joined together in, is the order they remain. You can do what you like with the vertices - put them where you want, but the lines (edges) that connect them won't ever break.

#44
5. ### Davros Legend

Joined:
Jun 7, 2004
Messages:
16,872
4,195
that makes sense bigtabs

#45
6. ### MDolenc Regular

Joined:
May 26, 2002
Messages:
696
446
Location:
Slovenia
That's a yes.
Which means (in theory) you can tesselate a human with a hole in their head from a donut. But you can't tesselate a human without a hole in their head from a dount.
You can create a sphere from a box, but you can't create a torus from a sphere or a box.
You can drill a hole with geometry shaders for example, but building geometry for tunnel will be a whole new problem.

#46
7. ### Davros Legend

Joined:
Jun 7, 2004
Messages:
16,872
4,195
was my theory (the one with the awsesome graphics) correct?

#47
8. ### sebbbi Veteran

Joined:
Nov 14, 2007
Messages:
2,924
5,296
Location:
Helsinki, Finland
Sphere and box have the same topology, and so do all continuous fully connected surfaces that do not have any holes on them. Bumps do not change surface topology, holes and discontinuities do. If you want to read about some funky stuff about storing object surfaces in textures, I recommend this article: http://research.microsoft.com/en-us/um/people/hoppe/gim.pdf.

#48
Last edited by a moderator: Sep 20, 2011
9. ### Davros Legend

Joined:
Jun 7, 2004
Messages:
16,872
4,195
thanks sebbi
lets hope I understand it

#49
10. ### Humus Crazy coder Veteran

Joined:
Feb 6, 2002
Messages:
3,217
77
Location:
Stockholm, Sweden
Well, in a sense you could, just bend the box around to a ring. It wouldn't be perfect though, you would end up with faces inside the torus though where the box ends meet, but rendering-wise it would look fine.

#50
11. ### Mendel Mr. Upgrade Veteran

Joined:
Nov 28, 2003
Messages:
1,350
17
Location:
Finland
There´s nothing wrong with tesselation as long as there are no textures

So I´d really like to see a flight simulator with flat shaded or gouraud shaded polygons and *heavy* tesselation. Me and 2 other persons would probably buy it too!

#51
12. ### Davros Legend

Joined:
Jun 7, 2004
Messages:
16,872
4,195
Let me guess, an A10 Cuba fan
1

#52
13. ### homerdog donator of the year LegendVeteranSubscriber

Joined:
Jul 25, 2008
Messages:
6,294
1,074
Location:
still camping with a mauler
GCN apparently is DX11.1. Is Fermi, or will NV have to wait for Kepler for 11.1 support? Or will NV skip 11.1 like they did with 10.1?

#53
14. ### MrGaribaldi Regular

Joined:
Nov 23, 2002
Messages:
611
0
Location:
In transit
Judging from this I'd say that Fermi supports DX 11.1. It seems to be more focused on easing programming than introducing new HW features.

Also with the DX SDK now a part of the windows sdk my guess is that we will not see IHVs skipping a "version" since the releases probably will slow down.

A possible development here could be that ID3D11Device::CheckFeatureSupport will become a way for IHVs to implement new features between releases, similar to the extensions for OpenGL...

#54
15. ### Ike Turner VeteranRegular

Joined:
Jul 30, 2005
Messages:
2,105
2,290
Given AMD's claim that GCN is the First DX11.1 GPU I would be suprised if Fermi was 11.1 compliant (with a simple driver update)

#55
16. ### Demirug Veteran

Joined:
Dec 8, 2002
Messages:
1,326
69
This would not work as Direct3D doesn't support a way to add additional functions and return them as function pointer. CheckFeatureSupport is to check for optional features that are part of the standard. There are two kind of optional features. The first one are real optional features that the hardware can support but not part of a required feature set. The second type are features that are part of a higher feature level. This way it's possible to make features accessible without supporting the whole feature level.

There were some so called API Hacks in the past (DX9) that activated additional features by passing magic numbers to specific functions that are normal used for something different. I m not aware that something like this has done for DX10+.

Another way to add additional functions is to provide an additional layer above the Direct3D runtime. This layer will pass the regular call to the standard runtime. Extension calls are passed directly to the driver. Nvidia has done this to provide some 10.1 features for hardware that have no full support.

#56
17. ### MrGaribaldi Regular

Joined:
Nov 23, 2002
Messages:
611
0
Location:
In transit
Demiurg, interesting. I don't really know much of DX, but thought they would have put in a mechanism to allow for exposing features.

Will be interesting to see how often they release new windows SDKs, and thus new Direct3D features.

#57
18. ### Demirug Veteran

Joined:
Dec 8, 2002
Messages:
1,326
69
I don't expect updates in a faster interval then service packs.

One of the main reasons to not allow custom features in DX is the pressure this generates on the IHV. If they want to see something in a new version they have no other choice as to find a common way. Beside of this it prevents that developers from writing custom code for every chip family from every party.

Extensions are nice for researcher and for developers that can force their customers to use specify hardware. But if you are in the consumer software business (like games) the can quickly become a huge pain.

#58
19. ### Rodéric a.k.a. Ingenu ModeratorVeteran

Joined:
Feb 6, 2002
Messages:
4,063
960
Location:
Planet Earth.
#59

Joined:
Jul 31, 2010
Messages:
923
744
#60

Replies:
1
Views:
868

Replies:
137
Views:
23,108

Replies:
0
Views:
3,054

Replies:
1
Views:
3,090

Replies:
0
Views:
1,909

Replies:
8
Views:
6,269