OpenGL VAO, VBO equivalent in DirectX11
I am working on implementing a directx11 instance of our game engine and I am a newbie in 3d game programming.
I know a little about DirectX11 graphics pipeline and shaders and what vertex buffers, input layout, etc are.
While looking at the one of the APIs the code is something like:
glBindVertexArray(current_vao);
glBindBuffer(GL_ARRAY_BUFFER, current_vbo);
glBufferData(GL_ARRAY_BUFFER, sizeof(Vector3) * Vertices.size(), &Vertices.front(), GL_DYNAMIC_DRAW);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3), reinterpret_cast<void*>(0));
glDisableVertexAttribArray(1);
glDisableVertexAttribArray(2);
glDisableVertexAttribArray(3);
glDisableVertexAttribArray(4);
glDisableVertexAttribArray(5);
glDisableVertexAttribArray(6);
glBindBuffer(GL_ARRAY_BUFFER, 0);
What is this VAO
and VBO
equivalent in DirectX11
? What exactly is this code doing ?
directx directx-11
add a comment |
I am working on implementing a directx11 instance of our game engine and I am a newbie in 3d game programming.
I know a little about DirectX11 graphics pipeline and shaders and what vertex buffers, input layout, etc are.
While looking at the one of the APIs the code is something like:
glBindVertexArray(current_vao);
glBindBuffer(GL_ARRAY_BUFFER, current_vbo);
glBufferData(GL_ARRAY_BUFFER, sizeof(Vector3) * Vertices.size(), &Vertices.front(), GL_DYNAMIC_DRAW);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3), reinterpret_cast<void*>(0));
glDisableVertexAttribArray(1);
glDisableVertexAttribArray(2);
glDisableVertexAttribArray(3);
glDisableVertexAttribArray(4);
glDisableVertexAttribArray(5);
glDisableVertexAttribArray(6);
glBindBuffer(GL_ARRAY_BUFFER, 0);
What is this VAO
and VBO
equivalent in DirectX11
? What exactly is this code doing ?
directx directx-11
add a comment |
I am working on implementing a directx11 instance of our game engine and I am a newbie in 3d game programming.
I know a little about DirectX11 graphics pipeline and shaders and what vertex buffers, input layout, etc are.
While looking at the one of the APIs the code is something like:
glBindVertexArray(current_vao);
glBindBuffer(GL_ARRAY_BUFFER, current_vbo);
glBufferData(GL_ARRAY_BUFFER, sizeof(Vector3) * Vertices.size(), &Vertices.front(), GL_DYNAMIC_DRAW);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3), reinterpret_cast<void*>(0));
glDisableVertexAttribArray(1);
glDisableVertexAttribArray(2);
glDisableVertexAttribArray(3);
glDisableVertexAttribArray(4);
glDisableVertexAttribArray(5);
glDisableVertexAttribArray(6);
glBindBuffer(GL_ARRAY_BUFFER, 0);
What is this VAO
and VBO
equivalent in DirectX11
? What exactly is this code doing ?
directx directx-11
I am working on implementing a directx11 instance of our game engine and I am a newbie in 3d game programming.
I know a little about DirectX11 graphics pipeline and shaders and what vertex buffers, input layout, etc are.
While looking at the one of the APIs the code is something like:
glBindVertexArray(current_vao);
glBindBuffer(GL_ARRAY_BUFFER, current_vbo);
glBufferData(GL_ARRAY_BUFFER, sizeof(Vector3) * Vertices.size(), &Vertices.front(), GL_DYNAMIC_DRAW);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3), reinterpret_cast<void*>(0));
glDisableVertexAttribArray(1);
glDisableVertexAttribArray(2);
glDisableVertexAttribArray(3);
glDisableVertexAttribArray(4);
glDisableVertexAttribArray(5);
glDisableVertexAttribArray(6);
glBindBuffer(GL_ARRAY_BUFFER, 0);
What is this VAO
and VBO
equivalent in DirectX11
? What exactly is this code doing ?
directx directx-11
directx directx-11
asked Nov 14 '18 at 21:44
MonkuMonku
74211224
74211224
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
A "VBO" is just a vertex buffer, which in DirectX 11 is a ID3D11Buffer
with a bind flag of D3D11_BIND_VERTEX_BUFFER
which contains the vertex data.
There is no direct equivalent to the OpenGL "Vertex Attribute Array". In DirectX 11, you just submit a distinct Draw
for each group of like state settings (a.k.a material attribute).
If you are complete new to DirectX 11, you might consider working through the [DirectX Tool Kit tutorials.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53309175%2fopengl-vao-vbo-equivalent-in-directx11%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
A "VBO" is just a vertex buffer, which in DirectX 11 is a ID3D11Buffer
with a bind flag of D3D11_BIND_VERTEX_BUFFER
which contains the vertex data.
There is no direct equivalent to the OpenGL "Vertex Attribute Array". In DirectX 11, you just submit a distinct Draw
for each group of like state settings (a.k.a material attribute).
If you are complete new to DirectX 11, you might consider working through the [DirectX Tool Kit tutorials.
add a comment |
A "VBO" is just a vertex buffer, which in DirectX 11 is a ID3D11Buffer
with a bind flag of D3D11_BIND_VERTEX_BUFFER
which contains the vertex data.
There is no direct equivalent to the OpenGL "Vertex Attribute Array". In DirectX 11, you just submit a distinct Draw
for each group of like state settings (a.k.a material attribute).
If you are complete new to DirectX 11, you might consider working through the [DirectX Tool Kit tutorials.
add a comment |
A "VBO" is just a vertex buffer, which in DirectX 11 is a ID3D11Buffer
with a bind flag of D3D11_BIND_VERTEX_BUFFER
which contains the vertex data.
There is no direct equivalent to the OpenGL "Vertex Attribute Array". In DirectX 11, you just submit a distinct Draw
for each group of like state settings (a.k.a material attribute).
If you are complete new to DirectX 11, you might consider working through the [DirectX Tool Kit tutorials.
A "VBO" is just a vertex buffer, which in DirectX 11 is a ID3D11Buffer
with a bind flag of D3D11_BIND_VERTEX_BUFFER
which contains the vertex data.
There is no direct equivalent to the OpenGL "Vertex Attribute Array". In DirectX 11, you just submit a distinct Draw
for each group of like state settings (a.k.a material attribute).
If you are complete new to DirectX 11, you might consider working through the [DirectX Tool Kit tutorials.
answered Nov 14 '18 at 22:05
Chuck WalbournChuck Walbourn
20.2k12549
20.2k12549
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53309175%2fopengl-vao-vbo-equivalent-in-directx11%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown