本文整理汇总了C++中cl::Program::create方法的典型用法代码示例。如果您正苦于以下问题:C++ Program::create方法的具体用法?C++ Program::create怎么用?C++ Program::create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cl::Program
的用法示例。
在下文中一共展示了Program::create方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: preStart
void RenderThread::preStart()
{
const size_t gridSize = sizeof(bool) * (renderDistance * 2 + 1) * (renderDistance * 2 + 1) * (renderDistance * 2 + 1);
commandQueue.create();
projectionMatrixBuffer.create(sizeof(float) * 16, CL_MEM_READ_ONLY);
gridBuffer.create(gridSize, CL_MEM_WRITE_ONLY);
boolBuffer.create(sizeof(unsigned char) * (renderDistance * 2 + 2) * (renderDistance * 2 + 2) * (renderDistance * 2 + 2), CL_MEM_READ_WRITE);
std::wstring filePath(IOUtil::EXE_DIR);
filePath += L"\\programs\\frustumclip.cl";
program.create(filePath);
grid = new VertexStream();
for(int i = -8; i <= 8; i++)
{
for(int j = -8; j <= 8; j++)
{
grid->put(Vertex(i, j, -8));
grid->put(Vertex(i, j, 8));
grid->put(Vertex(i, -8, j));
grid->put(Vertex(i, 8, j));
grid->put(Vertex(-8, i, j));
grid->put(Vertex(8, i, j));
}
}
square = new VertexStream();
square->put(Vertex(0.0f, 0.0f, 0.0f));
square->put(Vertex(1.0f, 0.0f, 0.0f));
square->put(Vertex(1.0f, 0.0f, 1.0f));
square->put(Vertex(1.0f, 0.0f, 1.0f));
square->put(Vertex(0.0f, 0.0f, 1.0f));
square->put(Vertex(0.0f, 0.0f, 0.0f));
GLWindow::instance->initGL();
if(!GLWindow::instance->isOK())
{
return;
}
filePath = IOUtil::EXE_DIR;
filePath += L"\\shaders\\normal.vert";
normalVShader = new gfxu::VertexShader(filePath);
filePath = IOUtil::EXE_DIR;
filePath += L"\\shaders\\normal.frag";
normalFShader = new gfxu::FragmentShader(filePath);
normalShaderProgram = new gfxu::ShaderProgram(normalVShader, nullptr, normalFShader);
filePath = IOUtil::EXE_DIR;
filePath += L"\\shaders\\noTex.vert";
noTexVShader = new gfxu::VertexShader(filePath);
filePath = IOUtil::EXE_DIR;
filePath += L"\\shaders\\noTex.frag";
noTexFShader = new gfxu::FragmentShader(filePath);
noTexShaderProgram = new gfxu::ShaderProgram(noTexVShader, nullptr, noTexFShader);
gfxu::Uniforms::reset();
glEnable(GL_DEPTH_TEST);
glEnable(GL_CULL_FACE);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
}