DirectX 11.1

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

  1. tabs

    Veteran

    Joined:
    Jan 11, 2007
    Messages:
    1,717
    Likes Received:
    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.
     
  2. Humus

    Humus Crazy coder
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,217
    Likes Received:
    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.
     
  3. Davros

    Legend

    Joined:
    Jun 7, 2004
    Messages:
    16,872
    Likes Received:
    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 :D ) do i rock...

    imagine the face of a rectangle (in game)
    fig 1
    [​IMG]

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

    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)
     
  4. tabs

    Veteran

    Joined:
    Jan 11, 2007
    Messages:
    1,717
    Likes Received:
    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.
     
  5. Davros

    Legend

    Joined:
    Jun 7, 2004
    Messages:
    16,872
    Likes Received:
    4,195
    that makes sense bigtabs
     
  6. MDolenc

    Regular

    Joined:
    May 26, 2002
    Messages:
    696
    Likes Received:
    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.
     
  7. Davros

    Legend

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

    Veteran

    Joined:
    Nov 14, 2007
    Messages:
    2,924
    Likes Received:
    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 sebbbi, Sep 20, 2011
    Last edited by a moderator: Sep 20, 2011
  9. Davros

    Legend

    Joined:
    Jun 7, 2004
    Messages:
    16,872
    Likes Received:
    4,195
    thanks sebbi
    lets hope I understand it ;)
     
  10. Humus

    Humus Crazy coder
    Veteran

    Joined:
    Feb 6, 2002
    Messages:
    3,217
    Likes Received:
    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.
     
  11. Mendel

    Mendel Mr. Upgrade
    Veteran

    Joined:
    Nov 28, 2003
    Messages:
    1,350
    Likes Received:
    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!
     
  12. Davros

    Legend

    Joined:
    Jun 7, 2004
    Messages:
    16,872
    Likes Received:
    4,195
    Let me guess, an A10 Cuba fan
    [​IMG]1
     
  13. homerdog

    homerdog donator of the year
    Legend Veteran Subscriber

    Joined:
    Jul 25, 2008
    Messages:
    6,294
    Likes Received:
    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?
     
  14. MrGaribaldi

    Regular

    Joined:
    Nov 23, 2002
    Messages:
    611
    Likes Received:
    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...
     
  15. Ike Turner

    Veteran Regular

    Joined:
    Jul 30, 2005
    Messages:
    2,105
    Likes Received:
    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)
     
  16. Demirug

    Veteran

    Joined:
    Dec 8, 2002
    Messages:
    1,326
    Likes Received:
    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.
     
  17. MrGaribaldi

    Regular

    Joined:
    Nov 23, 2002
    Messages:
    611
    Likes Received:
    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.
     
  18. Demirug

    Veteran

    Joined:
    Dec 8, 2002
    Messages:
    1,326
    Likes Received:
    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.
     
  19. Rodéric

    Rodéric a.k.a. Ingenu
    Moderator Veteran

    Joined:
    Feb 6, 2002
    Messages:
    4,063
    Likes Received:
    960
    Location:
    Planet Earth.
  20. Man from Atlantis

    Regular

    Joined:
    Jul 31, 2010
    Messages:
    923
    Likes Received:
    744
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...