本文整理汇总了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);
}