vertexshader.cpp
来自「用于GPU通用计算的编程语言BrookGPU 0.4」· C++ 代码 · 共 49 行
CPP
49 行
// vertexshader.cpp#include "core.hpp"#include "vertexshader.hpp"using namespace fibble;VertexShader::VertexShader( Context* inContext, const std::string& inSource ) : device(NULL), shaderHandle(NULL){ device = inContext->getDevice(); device->AddRef(); // assemble the shader HRESULT result; LPD3DXBUFFER codeBuffer; LPD3DXBUFFER errorBuffer; result = D3DXAssembleShader( inSource.c_str(), inSource.size(), NULL, NULL, 0, &codeBuffer, &errorBuffer ); if( errorBuffer != NULL ) { const char* errorMessage = (const char*)errorBuffer->GetBufferPointer(); DX9Warn( "Vertex shader failed to compile:\n%s", errorMessage ); throw -1; } else if( FAILED(result) ) { DX9Warn( "Vertex shader failed to compile." ); throw -1; } result = device->CreateVertexShader( (DWORD*)codeBuffer->GetBufferPointer(), &shaderHandle ); codeBuffer->Release(); if( FAILED(result) ) { DX9Warn( "Failed to allocate vertex shader." ); throw -1; }}VertexShader::~VertexShader(){ if( shaderHandle != NULL ) shaderHandle->Release(); if( device != NULL ) device->Release();}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?