Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Geometry shader patchlist input?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
2 replies to this topic

#1 Husbjörn   Members   -  Reputation: 361

Like
0Likes
Like

Posted 08 August 2014 - 05:30 AM

I just ran into somewhat of a snag trying to send a D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST indiced mesh through a geometry shader stage. Apparently judging by the produced error message, the GS stage needs a geometry specifier preceding the input array. Now, looking those up, it would seem the only valid patch input to the GS is either point (1 vertex), line (2 vertices), triangle (3 vertices), lineadj (2 base and 2 adjacent vertices) or triangleadj (3 normal and 3 base vertices).

Does this mean that the geometry shader can in fact only be used with point, line or triangle topologies? My intent was to produce the final geometry based on sets of control points patches.



Sponsor:

#2 Nik02   Crossbones+   -  Reputation: 3392

Like
1Likes
Like

Posted 08 August 2014 - 08:02 AM

This is true.

 

Note that the pipeline is designed so that the geometry shader is (at least conceptually) after the tessellator and just before rasterization, so it can only handle simple primitives.

 

Could you use the tessellator instead of GS? This would only require that the patch can be parametrized across a line, a triangle or a quad (and of course, that your target GPU can handle it). 


Edited by Nik02, 08 August 2014 - 08:05 AM.

Niko Suni


#3 Husbjörn   Members   -  Reputation: 361

Like
0Likes
Like

Posted 08 August 2014 - 10:02 AM

Ah, I see...

 

I'm going to have to rethink my approach then, it is possible it could be solved using tessellation, however I had hoped for shader model 4 support. Maybe I can use a pre-processing step where a buffer resource is created to store the desired adjacency data that can then be made available to the GS in subsequent steps.

 

 

Thanks!






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS