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 + -
显示快捷键?