操作系統(tǒng):Windows8.1

顯卡:Nivida GTX965M

開發(fā)工具:Visual Studio 2017


Introduction

在接下來幾個(gè)章節(jié)中,我們將會(huì)使用內(nèi)存頂點(diǎn)緩沖區(qū)來替換之前硬編碼到vertex shader中的頂點(diǎn)數(shù)據(jù)。我們將從最簡(jiǎn)單的方法開始創(chuàng)建一個(gè)CPU可見的緩沖區(qū),并使用memcpy直接將頂點(diǎn)數(shù)據(jù)直接復(fù)制到緩沖區(qū),之后將會(huì)使用分段緩沖區(qū)將頂點(diǎn)數(shù)據(jù)賦值到高性能的內(nèi)存。

Vertex shader


首先要修改的是頂點(diǎn)著色器,不再包含頂點(diǎn)數(shù)據(jù)。頂點(diǎn)著色器接受頂點(diǎn)緩沖區(qū)的輸入使用in關(guān)鍵字。

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xù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