Chapter 14: Particle Systems

Quiz Answers

  1. If you wanted to get texture coordinates to your pixel shader, what do you have to do in the vertex shader?

    • To access texture coordinate information in your pixel shader, you need to first pass the texture coordinate information to your vertex shader and then return it as output from the vertex shader.

  2. What semantic affects the size of a vertex? Where would you assign a value to a variable using that semantic for the size to take effect?

    • PSIZE[n] allows you to modify the size of a vertex. In order for the PSIZE[n] semantic to be used, you have to return it as output from your vertex shader.

  3. How are semantics connected to C# code when creating a custom vertex?

    • When using a custom vertex type, you must create a VertexDeclaration for that vertex type. To do this, your vertex type must contain an array of type VertexElement. A VertexElementUsage parameter is passed to the constructor of each VertexElement. That VertexElementUsage parameter determines which, if any, semantic a particular member of the custom vertex struct is associated with.

  4. What is a particle engine?

    • A particle engine is a mechanism that manipulates, moves, adds, removes, and draws particles to create a particle effect.

  5. What is a point sprite, and why are they important?

    • Point sprites were initially added to DirectX 8 and offered a way to draw a particle or other effect by specifying only a single vertex. Prior to point sprites, four vertices were needed, and a texture was laid on top ...

Get Learning XNA 3.0 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.