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


C++ Constant::setConstantForVS方法代码示例

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


在下文中一共展示了Constant::setConstantForVS方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: draw

void Pass::draw() {
	initDraw();
	
	if (useDefaultWVP) {
		XMFLOAT4X4 view = camera->getViewMatrix();
		XMMATRIX camView = XMLoadFloat4x4(&view);
		XMMATRIX camProjection = XMMatrixPerspectiveFovLH(0.4f * 3.14f, (float)width / height, 1.0f, 1000.0f);
		XMMATRIX w = XMLoadFloat4x4(&world);
		XMMATRIX WVP = XMMatrixTranspose(w * camView * camProjection);

		cbPerObject cbPerObj;
		cbPerObj.WVP = WVP;
		cbPerObj.normalTransform = w;
		cbPerObj.eyePosition = camera->position;
		Constant *wvp = new Constant(&cbPerObj, sizeof(cbPerObj), 0);
		wvp->setConstantForVS(device, context);
	}
	else {
		XMMATRIX w = XMLoadFloat4x4(&world);
		XMMATRIX WVP = XMMatrixTranspose(w);

		MatrixBuffer buffer;
		buffer.matrix = WVP;
		Constant *wvp = new Constant(&buffer, sizeof(buffer), 0);
		wvp->setConstantForVS(device, context);
	}

	model->draw(device, context, vertexShader->buffer);
}
开发者ID:serendipitious,项目名称:playground,代码行数:29,代码来源:Pass.cpp


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