Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3787206
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 19, 20262026-05-19T11:48:18+00:00 2026-05-19T11:48:18+00:00

Would someone provide/point me to an explanation of or tutorial on using multiple vertex

  • 0

Would someone provide/point me to an explanation of or tutorial on using multiple vertex streams in HLSL and XNA? I’m interested in how they’re stored/accessed by the GPU, advantages of or uses for streams in custom shaders, etc.

I’ve seen a few examples on using multiple vertex streams for instanced geometry, but I’m having a hard time wrapping my head around the underlying mechanism.

Update

If I have a vertex shader which accepts two parameters (borrowed from this tutorial)

InstancingVSoutput InstancingVS(InstancingVSinput input, float4x4 instanceTransform : TEXCOORD0, float4 color : TEXCOORD4)
{
 InstancingVSoutput output;
 float4 pos = input.Position;
 pos = mul(pos, transpose(instanceTransform));
 pos = mul(pos, WVP);
 output.Position = pos;
 output.Color = color;
 return output;
}

It seems from the example that I pulled this from that instanceTransform and input are pulled from separate streams. However, in this case, the input stream is a list of six vertices, and the instanceTransform comes from a stream of a much larger number of elements, consisting of translation matrices. This is supposed to be used for instanced geometry.

I’m confused about how many times this shader gets executed – is it VertexBuffer0.VertexCount*VertexBuffer1.VertexCount? The problem with this kind of thing is that, once someone’s figured it out, they don’t bother contributing a well-written document back to the community detailing their discovery.

Argh.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-19T11:48:19+00:00Added an answer on May 19, 2026 at 11:48 am

    Since no one else has chimed in yet, I’ll give it a go 🙂 this is a great thread on the apphub forums about Vertex Streams:
    http://forums.create.msdn.com/forums/p/46229/276901.aspx

    from one of the answers:

    The gist is this: different streams
    can have different data layouts, and
    your VertexDeclaration determines what
    data gets pulled from what stream.
    So, for instance, you could have one
    buffer that stores all your positions
    and one buffer which stores all your
    colors, and you could set those to
    different streams; alternatively you
    could munge them into a single stream,
    but this isn’t always convenient.

    Hope it helps 😉

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

A simple question, but could someone provide sample code as to how would someone
Why would someone want to use a linked-list over an array? Coding a linked-list
Why would someone use WHERE 1=1 AND <conditions> in a SQL clause (Either SQL
Why would someone use a group by versus distinct when there are no aggregations
Why would someone use numeric(12, 0) datatype for a simple integer ID column? If
I'm quite confused about several books in .NET that I have read. Would someone
I was wondering if someone would be able to help me write a CQL
I suppose it depends on how it's implemented. I'd love it if someone would
Could someone supply some code that would get the xpath of a System.Xml.XmlNode instance?
What would be the best way to calculate someone's age in years, months, and

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.