#include "../../gameengine/gameengine_common.h"
#include "********.h"
c********::c********(){}
c********::~c********()
direct3drelease();
bool c********::created3ddevice(hwnd hwnd,bool bfullscreen)
//建立idirect3d9物件
m_pidirect3d=direct3dcreate9(d3d_sdk_version);
if(m_pidirect3d==null)
return false;
d3dcaps9 d3dcaps;
m_pidirect3d->getdevicecaps(d3dadapter_default,d3ddevtype_hal,&d3dcaps);
bool bharwareprocess;
if(d3dcaps.devcaps & d3ddevcaps_hwtransformandlight)
bharwareprocess=true;
else,
,
byte* pvertexdata;
//建立頂點緩衝區
if(failed(m_pidirect3ddevice->createvertexbuffer(3 * sizeof(customvertex),0,
customvertex_fvf, d3dpool_managed, &m_pvertexbuffer,null)))
//引數fvf(flexible vertex format)提供自定義的頂點的格式說明,以便解讀頂點的資料。
return false;
//取得頂點緩衝區的指標
if(failed(m_pvertexbuffer->lock(0, 0, (void**)&pvertexdata, 0)))
return false;
//寫入頂點資料到頂點緩衝區
memcpy(pvertexdata, customvertex, sizeof(customvertex));
//解鎖
m_pvertexbuffer->unlock();
return true;
void c********::render()
if(m_pidirect3ddevice==null)
return;
//清空繪圖表面的backbuffer為黑色
m_pidirect3ddevice->clear(0, null, d3dclear_target, d3dcolor_xrgb(0, 0, 0), 1.0f, 0);
//開始渲染
m_pidirect3ddevice->beginscene();
//渲染三角形面
m_pidirect3ddevice->setstreamsource(0, m_pvertexbuffer, 0, sizeof(customvertex));
m_pidirect3ddevice->setfvf(customvertex_fvf);
m_pidirect3ddevice->drawprimitive(d3dpt_********list, 0, 1);
//結束渲染
m_pidirect3ddevice->endscene();
//置換前後繪圖表面緩衝區,顯示當前幀
m_pidirect3ddevice->present(null, null, null, null);
void c********::direct3drelease()
saferelease(m_pvertexbuffer);
saferelease(m_pidirect3ddevice);
saferelease(m_pidirect3d);
#ifndef ********_include
#define ********_include
#define customvertex_fvf (d3dfvf_xyzrhw|d3dfvf_diffuse)
struct customvertex ;
class c******** ;
#endif
#include "../../gameengine/gameengine_common.h"
#include "../../gameengine/gameengine_input/gameengine_input.h"
#include "********.h"
int apientry winmain(hinstance hinstance, //傳入的視窗控制代碼
hinstance hprevinstance, //已存在的視窗控制代碼
lpstr lpcmdline, //傳入的命令列引數
int ncmdshow) //設定視窗的顯示方式
if(!gameengine_input.createinput(hinstance,hwnd))
setwindowpos(hwnd,0,0,0,0,0,swp_nosize); //設定應用程式視窗位置
setcursorpos(0,0); //設定滑鼠初始位置
if(!********.created3ddevice(hwnd,false))
if(!********.initvertexbuffer())
while(msg.message!=wm_quit)
else
} }
//登出視窗類
unregisterclass(wndclassname, hinstance);
return true; }
D 空心三角形
把乙個字元三角形掏空,就能節省材料成本,減輕重量,但關鍵是為了追求另一種視覺效果。在設計的過程中,需要給出各種花紋的材料和大小尺寸的三角形樣板,通過電腦臨時做出來,以便看看效果。input 每行包含乙個字元和乙個整數n 0a 7 sample output x aa a a a a a a a a ...
d3d實現乙個旋轉的三角形
include d3d9.h include d3dx9math.h pragma comment lib,d3d9.lib pragma comment lib,d3dx9.lib pragma comment lib,winmm.lib lpdirect3d9 g pd3d null direc...
問題 D 萊布尼茨三角形
請小夥伴們對自己ac的題目進行標記,注意每人只能標記一次!不知道的不要標記,惡意標記者將 賬號!時間限制 1 sec 記憶體限制 128 mb 提交 狀態 題目描述 世界上著名的萊布尼茨三角形如圖所示,請程式設計輸出圖中排在第n行從左邊數第m個位置上的數。輸入 共一行,有二個整數n 和m n 15 ...