Visual - C++游戏开发笔记全集 - 图文(4)

2019-01-12 18:35

20. ID3D11VertexShader* solidColorVS_; 21. ID3D11PixelShader* solidColorPS_; 22. 23. ID3D11InputLayout* inputLayout_; 24. ID3D11Buffer* vertexBuffer_; 25. 26. ID3D11ShaderResourceView* colorMap_; 27. ID3D11SamplerState* colorMapSampler_; 28. }; 29. 30. #endif

由于我们正在执行纹理映射这项操作,我们需要对顶点结构体的代码进行更新,使其包含两个浮点型的变量。这项工作可由XMFLOAT2结构体来完成。

代码段二中展示了这个demo中顶点结构体,LoadContent,函数和 UnloadContent函数的写法

代码段二 顶点结构体以及 LoadContent和UnloadContent的书写

[cpp] view plaincopyprint? 1. struct VertexPos 2. 3. { 4. 5. XMFLOAT3 pos; 6. 7. XMFLOAT2 tex0; 8. 9. }; 10.

11. bool TextureDemo::LoadContent( ) 12. 13. { 14. 15. ... Load vertex Shader ... 16. 17. D3D11_INPUT_ELEMENT_DESC solidColorLayout[] = 18. 19. { 20. 21. { \, 0, DXGI_FORMAT_R32G32B32_FLOAT, 22. 23. 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 }, 24. 25. { \, 0, DXGI_FORMAT_R32G32_FLOAT, 26.

27. 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 } 28. 29. }; 30. 31. unsigned int totalLayoutElements = ARRAYSIZE( solidColorLayout ); 32. 33. d3dResult = d3dDevice_->CreateInputLayout( solidColorLayout, 34. 35. totalLayoutElements, vsBuffer->GetBufferPointer( ), 36. 37. vsBuffer->GetBufferSize( ), &inputLayout_ ); 38. 39. ... Load Pixel Shader ... 40. 41. VertexPos vertices[] = 42.

43. { 44. 45. { XMFLOAT3( 1.0f, 1.0f, 1.0f ), XMFLOAT2( 1.0f, 1.0f ) }, 46. 47. { XMFLOAT3( 1.0f, -1.0f, 1.0f ), XMFLOAT2( 1.0f, 0.0f ) }, 48. 49. { XMFLOAT3( -1.0f, -1.0f, 1.0f ), XMFLOAT2( 0.0f, 0.0f ) }, 50. 51. { XMFLOAT3( -1.0f, -1.0f, 1.0f ), XMFLOAT2( 0.0f, 0.0f ) }, 52. 53. { XMFLOAT3( -1.0f, 1.0f, 1.0f ), XMFLOAT2( 0.0f, 1.0f ) }, 54. 55. { XMFLOAT3( 1.0f, 1.0f, 1.0f ), XMFLOAT2( 1.0f, 1.0f ) }, 56. 57. }; 58.


Visual - C++游戏开发笔记全集 - 图文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:信息化建设项目绩效评价报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: