原创 DX配置

一個DirectX程序要想正確的編譯和鏈接,需要下面三個主要前提 一 安裝DirectX SDK 二 正確配置.h文件路徑和.lib文件路徑 三 正確鏈接所需.lib文件 詳細步驟如下: 一.安裝DirectX SDK

原创 vs2010生成mfc無法標記菜單

GetMenu()->GetSubMenu(0)->CheckMenuItem(0,MF_BYPOSITION|MF_CHECKED); 一:在VS2010中,由於CMainFrame繼承至CFrameWndEx會導致無法像VC6.0一

原创 刪除stl list 類對象

#include <list> using namespace std; class A { }; int main() {list<A*>a;fo

原创 靈活頂點格式

靈活頂點格式--Flexible Vertex Format, FVF     靈活頂點格式(Flexible Vertex Format, FVF)用來描述在頂點緩衝區中的頂點存儲格式中包含了哪些屬性。Direct3D應用程

原创 CString格式化,從“const char [6]”轉換爲“const wchar_t

“void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)”:

原创 改變D3D中的渲染狀態

改變D3D中的渲染狀態 1). 設置着色模式:                                                          SetRenderState(D3DRS_SHADEMODE, D3D

原创 D3D數學基礎(初級篇)

Direct3D遊戲開發學習筆記3——D3D數學基礎(初級篇) (轉) 一、數學工具在虛擬3D世界中的作用、D3D與D3DX的關係: 1、數學的作用:數學是搭建虛擬3D世界的基礎,角色控制、動畫、關照計算、陰影計算、特效顯示等等,數學在裏

原创 轉載dx龍書書評

首先得聲明我這篇文章只有很少的篇幅介紹龍書,其實我是想寫點東西給那些看完龍書的人。    這是我接觸3D圖形編程的第一本書,接觸3d圖形編程前,我看的是《Windows 遊戲編程大師技巧》,只看了前幾章,當時我急着想去學3D的酷玩意兒,立

原创 模板

1. 模板的概念。 我們已經學過重載(Overloading),對重載函數而言,C++的檢查機制能通過函數參數的不同及所屬類的不同。正確的調用重載函數。例如,爲求兩個數的最大值,我們定義MAX()函數需要對不同的數據類型分別定義不同重

原创 UPDATE_COMMAND_UI 處理菜單對應的用戶界面 COMMAND 處理該菜單對應的功能

UPDATE_COMMAND_UI 處理菜單對應的用戶界面 COMMAND 處理該菜單對應的功能 傳統SDK程序,要改變選單命令項狀態,可以呼叫EnableMenuItem或是CheckMenuItem,但這使得程序雜亂無章

原创 遊戲程序員養成計劃 (更新2010.11.6)

與玩遊戲相比,寫遊戲要複雜上千萬倍,除了需要掌握通用的編程技巧以外,還要有相當的圖形學,物理,數學基礎,特別是在國內,由於相關資料的缺乏,更是讓初學者無從下手。下面總結了一些入門方法和比較容易入手的資料。          首先你要精

原创 對C++ STL,list元素的循環刪除操作 //斷鏈,出錯地方

1 #include <iostream> 2 #include <list> 3 #include <algorithm> 4 using namespace  std; 5  6 int main(int argc, char* a

原创 [轉]Direct3D入門-向量和距陣變換

向量(也叫矢量,英文叫vector)   向量就是包含大小(長度)和方向的一個量。向量有2維的,也有3維甚至4維的。在DX的所有結構體中,有一個結構體是用來 表示3維向量的,它就是D3DVECTOR,這個結構體很簡單,只有三個成員:x、y

原创 重大發現:VC++2005,2008或更高版本 之list iterator not incrementable 錯誤原因

在VC6中 list<T*> Tlist; list<T*>::iterator  iter;   iter=Tlist.end();  再 iter++; 此時iter的遊標位置和iter.begin()相等  

原创 list使用中遇到的erase問題(List Iterator Not Incrementable)

list使用中遇到的erase問題(List Iterator Not Incrementable) 在VS2005中使用list的erase遇到了"List Iterator Not Incrementable"問題 舉個例子: