颜色立方体演示程序.docxVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
颜色立方体演示程序.docx

6.9颜色立方体演示程序我们已经讲解了足够多的内容,现在我们可以开始编写一个简单的颜色立方体演示程序了。这个例子基本上包含了我们前面讲到的所有内容。读者应该对照前面的几节,仔细研究这些代码,直到把每一行代码都弄懂为止。注意,程序使用了6.8.1节编写的“color.fx”effect。//***************************************************************************************// BoxDemo.cpp by Frank Luna (C) 2011 All Rights Reserved.//// Demonstrates rendering a colored box.//// Controls://Hold the left mouse button down and move the mouse to rotate.// Hold the right mouse button down to zoom in and out.////***************************************************************************************#include"d3dApp.h"#include"d3dx11Effect.h"#include"MathHelper.h"structVertex{XMFLOAT3 Pos;XMFLOAT4 Color;};classBoxApp : publicD3DApp{public:BoxApp(HINSTANCE hInstance);~BoxApp();bool Init();void OnResize();void UpdateScene(float dt);void DrawScene(); void OnMouseDown(WPARAM btnState, int x, int y);void OnMouseUp(WPARAM btnState, int x, int y);void OnMouseMove(WPARAM btnState, int x, int y);private:void BuildGeometryBuffers();void BuildFX();void BuildVertexLayout();private:ID3D11Buffer* mBoxVB;ID3D11Buffer* mBoxIB;ID3DX11Effect* mFX;ID3DX11EffectTechnique* mTech;ID3DX11EffectMatrixVariable* mfxWorldViewProj;ID3D11InputLayout* mInputLayout;XMFLOAT4X4 mWorld;XMFLOAT4X4 mView;XMFLOAT4X4 mProj;float mTheta;float mPhi;float mRadius;POINT mLastMousePos;};intWINAPI WinMain(HINSTANCEhInstance, HINSTANCEprevInstance,PSTRcmdLine, intshowCmd){// Enable run-time memory check for debug builds.#ifdefined(DEBUG) | defined(_DEBUG)_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );#endifBoxApp theApp(hInstance);if( !theApp.Init() )return 0;return theApp.Run();}BoxApp::BoxApp(HINSTANCEhInstance): D3DApp(hInstance), mBoxVB(0), mBoxIB(0), mFX(0), mTech(0), mfxWorldViewProj(0), mInputLayout(0), mTheta(1.5f*MathHelper::Pi), mPhi(0.25f*MathHelper::Pi), mRadius(5.0f){mMainWndCaption = L"Box Demo";mLastMousePos.x = 0;mLastMousePos.y = 0;XMMATRIX I = XMMatrixIdentity();XMStoreFloat4x4(&mWorld, I);XMStoreFloat4x4(&mView, I);XMSt

您可能关注的文档

文档评论(0)

zhangningclb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档