当前位置: 首页>>代码示例>>C++>>正文


C++ CommandQueue::create方法代码示例

本文整理汇总了C++中cl::CommandQueue::create方法的典型用法代码示例。如果您正苦于以下问题:C++ CommandQueue::create方法的具体用法?C++ CommandQueue::create怎么用?C++ CommandQueue::create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在cl::CommandQueue的用法示例。


在下文中一共展示了CommandQueue::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);
}
开发者ID:JamiesWhiteShirt,项目名称:Wind,代码行数:68,代码来源:renderthread.cpp


注:本文中的cl::CommandQueue::create方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。