91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 174KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-03
  • 語言: 其他
  • 標簽: D3D11??繪圖基礎??

資源簡介

D3D11繪圖基礎,實現一個簡單的場景:旋轉的彩色立方體的源代碼。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?“Timer.h“

using?namespace?std;

//定義頂點結構
//在這個程序當中,我們只需要頂點坐標及顏色值
struct?Vertex
{
XMFLOAT3 pos;
XMFLOAT4 color;
};

//定義幾個常見的顏色值,方便在程序中使用
//這里用到XMVECTORF32結構,在定義常量的XMVECTOR時使用,用它可以在創建變量時直接初始化且可以轉化為XMVECTOR。
//如果對XMVECTORF32有疑問,可以參考我的前幾篇博文:【D3D11游戲編程】學習筆記二:XNAMath之XMVECTOR。
const?XMVECTORF32?White?????=?{1.0f?1.0f?1.0f?1.0f};
const?XMVECTORF32?Black?????=?{0.0f?0.0f?0.0f?1.0f};
const?XMVECTORF32?Red???????=?{1.0f?0.0f?0.0f?1.0f};
const?XMVECTORF32?Green?????=?{0.0f?1.0f?0.0f?1.0f};
const?XMVECTORF32?Blue??????=?{0.0f?0.0f?1.0f?1.0f};
const?XMVECTORF32?Yellow????=?{1.0f?1.0f?0.0f?1.0f};
const?XMVECTORF32?Cyan??????=?{0.0f?1.0f?1.0f?1.0f};
const?XMVECTORF32?Magenta???=?{1.0f?0.0f?1.0f?1.0f};
const?XMVECTORF32?Silver =?{0.75f0.75f0.75f1.0f};


//重要的全局變量
//在后面學習過程中,這些全局將作為框架類的成員變量存在
HINSTANCE g_hInstance(NULL);
HWND g_hWnd(NULL);

wstring g_clsName(L“d3d11“);
wstring g_wndtitle(L“D3D11繪圖基礎:旋轉的彩色立方體“);

UINT g_winWidth(640);
UINT g_winHeight(480);

//定時器
Timer g_timer;
//幀率
size_t g_frameRate;

//D3D11基礎全局變量
ID3D11Device *g_device(NULL);
ID3D11DeviceContext *g_deviceContext(NULL);
IDXGISwapChain *g_swapChain(NULL);

ID3D11DepthStencilView *g_depthStencilView(NULL);
ID3D11RenderTargetView *g_renderTargetView(NULL);

//D3D11應用全局變量
ID3D11InputLayout *g_inputLayout(NULL);
ID3D11Buffer *g_VB(NULL);
ID3D11Buffer *g_IB(NULL);
ID3DX11Effect *g_effect(NULL);
ID3DX11EffectMatrixVariable *g_fxWorldViewProj(NULL);

//初始化
BOOL?InitWin32();
//初始化D3D
BOOL?InitD3D();
//應用初始化
BOOL?InitApp();
//場景更新
void?Update(float?delta);
//場景繪制
void?Render();
//主循環
int ?Run();
//計算幀率
void?CalculateFPS();
//回收資源
void?Release();

LRESULT?CALLBACK?WinProc(HWND?hwnd?UINT?msg?WPARAM?wParam?LPARAM?lParam);

//程序入口
int?WINAPI?WinMain(HINSTANCE?hInstance?HINSTANCE?hPrevInstance?LPSTR?cmdLine?int?cmdShow)
{
g_hInstance?=?hInstance;

if(!InitWin32())
return?-1;
if(!InitD3D())
return?-1;
if(!InitApp())
return?-1;

return?Run();
}

BOOL?InitWin32()
{
//創建窗口類
WNDCLASS?wndcls;
wndcls.cbClsExtra?=?0;
wndcls.cbWndExtra?=?0;
wndcls.hbrBackground?=?(HBRUSH)GetStockobject(NULL_BRUSH);
wndcls.hCursor?=?LoadCursor(NULLIDC_ARROW);
wndcls.hIcon?=?LoadIcon(NULLIDI_APPLICATION);
wndcls.hInstance?=?g_hInstance;
wndcls.lpfnWndProc?=?WinProc;
wndcls.lpszClassName?=?g_clsName.c_str();
wndcls.lpszMenuName?=?NULL;
wndcls.style?=?CS_HREDRAW?|?CS_VREDRAW;

//注冊窗口類
if(!RegisterClass(&wndcls))
{
MessageBox(NULLL“窗口注冊失敗!“L“錯誤“MB_OK);
return?FALSE;
}

//創建窗口
g_hWnd?=?CreateWindow(g_clsName.c_str()
g_wndtitle.c_str()
WS_OVERLAPPEDWINDOW
? CW_USEDEFAULTCW_USEDEFAULT
g_winWidthg_winHeight
NULL
NULL
g_

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-12-16?05:04??BasicDraw\
?????文件??????240640??2012-12-16?04:56??BasicDraw\代碼及可執行文件(64位)\basicDraw.exe
?????文件?????????908??2012-12-13?21:41??BasicDraw\代碼及可執行文件(64位)\Timer.h
?????文件????????2458??2012-12-13?22:20??BasicDraw\代碼及可執行文件(64位)\Timer.cpp
?????文件?????????574??2012-12-16?04:09??BasicDraw\代碼及可執行文件(64位)\FX\BasicDraw.fx
?????目錄???????????0??2012-12-16?04:50??BasicDraw\代碼及可執行文件(64位)\FX\
?????文件???????14826??2012-12-16?04:55??BasicDraw\代碼及可執行文件(64位)\BasicDraw.cpp
?????目錄???????????0??2012-12-16?05:04??BasicDraw\代碼及可執行文件(64位)\
?????文件?????????305??2012-12-16?05:02??BasicDraw\注意.txt
?????文件???????14826??2012-12-16?04:55??BasicDraw\BasicDraw.cpp
?????目錄???????????0??2012-12-16?04:50??BasicDraw\FX\
?????文件?????????574??2012-12-16?04:09??BasicDraw\FX\BasicDraw.fx
?????文件????????2458??2012-12-13?22:20??BasicDraw\Timer.cpp
?????文件?????????908??2012-12-13?21:41??BasicDraw\Timer.h
?????文件??????240640??2012-12-16?04:56??BasicDraw\basicDraw.exe

評論

共有 條評論