操作系統(tǒng):Windows8.1
顯卡:Nivida GTX965M
開發(fā)工具:Visual Studio 2017
Introduction
在接下來幾個章節(jié)中,我們將會使用內(nèi)存頂點緩沖區(qū)來替換之前硬編碼到vertex shader中的頂點數(shù)據(jù)。我們將從最簡單的方法開始創(chuàng)建一個CPU可見的緩沖區(qū),并使用memcpy直接將頂點數(shù)據(jù)直接復(fù)制到緩沖區(qū),之后將會使用分段緩沖區(qū)將頂點數(shù)據(jù)賦值到高性能的內(nèi)存。
Vertex shader
首先要修改的是頂點著色器,不再包含頂點數(shù)據(jù)。頂點著色器接受頂點緩沖區(qū)的輸入使用in關(guān)鍵字。
#version 450#extension GL_ARB_separate_shader_objects : enable layout(location = 0) in vec2 inPosition; layout(location = 1) in vec3 inColor; layout(location = 0) out vec3 fragColor;out gl_PerVertex { vec4 gl_Position; };void main() { gl