要做一个NoisyHeart,最后说一下这个代码应该这么开始打吧:
1.配置要你DirectX11开发环境不说,这个网上一大堆;
2.做一个ModelViewerCamera见Part1;
3.创建一个控制点的XMFLOAT3数组(D3DXVECTOR3数组也可以);
4.create一个渲染用VertexBuffer,Vertex结构见Part3,再用它create一个ID3D11UnorderedAccessView供ComputeShader用;
5.create两个计算用的VertexBuffer,一个用控制点的XMFLOAT3数组初始化,一个用PerlinSeed随机浮点数组初始化,得到2个供ComputeShader用的ID3D11ShaderResourceView;
6.create 所需的shader,计算VertexBuffer并渲染。
建议先做简单的beam,测试细分shader能否正常运作。
爱心附送心形17个控制点:
m_pControlPoints[0] = XMFLOAT3( 0, 0, 0);
m_pControlPoints[2] = XMFLOAT3( 2, 3, 0);
m_pControlPoints[4] = XMFLOAT3( 4, 1, 0);
m_pControlPoints[6] = XMFLOAT3( 3, - 1, 0);
m_pControlPoints[8] = XMFLOAT3( 0, - 3, 0);
m_pControlPoints[10] = XMFLOAT3( - 3, - 1, 0);
m_pControlPoints[12] = XMFLOAT3( - 4, 1, 0);
m_pControlPoints[14] = XMFLOAT3( - 2, 3, 0);
m_pControlPoints[16] = XMFLOAT3( - 0, 0, 0);
m_pControlPoints[1] = XMFLOAT3( 0.5, 1.5, 0);
m_pControlPoints[3] = XMFLOAT3( 3.5, 2, 0);
m_pControlPoints[5] = XMFLOAT3( 4.5, 0, 0);
m_pControlPoints[7] = XMFLOAT3( 2.5, - 2, 0);
m_pControlPoints[9] = XMFLOAT3( - 2.5, - 2, 0);
m_pControlPoints[11] = XMFLOAT3( - 4.5, 0, 0);
m_pControlPoints[13] = XMFLOAT3( - 3.5, 2, 0);
m_pControlPoints[15] = XMFLOAT3( - 0.5, 1.5, 0);
构建NoisyHeart:从DirectX11环境到最终渲染
本文指导您如何构建NoisyHeart,从设置DirectX11开发环境开始,逐步实现模型视图相机、控制点数组、顶点缓冲区等关键步骤,直至使用细分shader进行渲染。提供了17个心形控制点,帮助快速上手。

被折叠的 条评论
为什么被折叠?



