- 博客(29)
- 资源 (8)
- 收藏
- 关注
翻译 译:Real-Time 3D Terrain Engines Using C++ And DirectX9(2)
第一章以DirectX 9.0和D3DX开始对Microsoft Windows平台的3D图形程序新手来说,DirectX是提供底层多媒体应用程序接口(API)的高性能,低级的库。DirectX是以组件建立的,旨在直接访问PC硬件。在这个引擎中,我们主要关心的仅仅是这些组件中的一个,DirectX Graphics.而且,我们将具体处理DirectX Graphics的3D功能,
2009-02-05 23:44:00
1494
翻译 Real-Time 3D Terrain Engines Using C++ And DirectX9(1)
第一部分3D基础要完全地建立一个引擎,我们需要以一个好的基础开始。在部分,我介绍DirectX 9.0里最新的进步,并且透彻地研究一下SDK中提供的DirectX 例子。最简单的原因,我们将在Microsoft提供的这些类上建立我们的引擎。另外,我们将看一下DirectX 9.0 SDK提供的Direct3D 扩展库。这部分库的作用是满足我们基本的3D 数学库的需要,并且为加载和维
2009-02-04 17:28:00
1428
原创 GPU编程笔记(2)
2009-02-02 19:52高级渲染语言基础1:HLSL语法与C语法非常类似。2:数据类型:bool int (32位signed) half(16位float) float(32位float) double(64位float)3:变量声明:与C一样4:类型修饰:可以使用const,与C++ 一样
2009-02-03 18:48:00
1672
原创 GPU编程笔记(1)
1:GPU就是图形处理器。 2:GPU语言就是用来用来控制GPU处理的一种语言,即可编程流水线。GPU编程在D3D8版本中首次加入。 3:使用固定函数流水线就是在不断的通过设备指针调用函数SetRenderState()设置不同的渲染状态,而场景的处理和绘制由D3D引擎根据设置的渲染状态来完成。使用GPU编程,则需要在源程序之外,编写另外的程序代码,直接操作其中的
2009-02-03 18:47:00
2004
转载 pragma用法---转自百度百科
#pragma 预处理指令详解 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为
2009-02-03 18:46:00
486
原创 C中的循环挖掘
1: while:主要作用:一直循环执行,直到while()中的值为假,或者从循环内部break退出。while(1)构造死循环,如windows中的消息循环。 (2)在其中直接套入break,提前结束循环。 (3)在其中可以使用continue.,结束本次循环,进入下次循环。#include main(){int i=
2009-02-03 18:45:00
454
原创 大一的程序---"倩"字
main(){int i,a,c,d,z,h,k,p,x,y,b,m,n,l,g;for(i=1;i{for(m=1;mprintf(" ");for(k=1;kprintf("*");printf("/n");for(a=1;a{for(b=1;bprintf(" ");printf("*/n");}}for(m=1;mprintf(" ");for(d=1;dprintf
2009-02-03 18:44:00
474
原创 大一的程序---"I Love You"
#include "stdio.h"main(){int a,b,c,q,e,f,o,d,k,p,m,n,l,x,g,y,z,i;for(a=1;aif(a==1||a==11){for(b=1;bprintf(" ");for(c=1;cprintf("*");printf("/n");}else{for(b=1;bprintf(" ");printf(
2009-02-03 18:44:00
761
原创 DXUT控件
查看文章写新文章 DXUT控件2009-02-01 15:191:DirectX9c版本以上才支持DXUT控件2:与windows控件非常 类似,但是它们的内部实现和windows普通控件完全不同,其底层不涉及任何窗口句柄和Windows控件。DXUT控件的渲染也是由D3D完成的,适用于窗口
2009-02-03 18:43:00
1367
转载 DirectX9.0教程之ID3DXSprite篇[转载]
查看文章写新文章 DirectX9.0教程之ID3DXSprite篇[转载]2009-01-22 23:30前言:本教程面向对DriectX 9.0有一定了解的读者,主要讲解DirectX 9.0的各个部分的功能及用法。希望对广大的游戏初学者有一定帮助,也好让本人对中国游戏事业的发展做出一些
2009-02-03 18:42:00
817
原创 高级纹理技术
1:DirectX最多支持8重纹理 索引号:0-72:第一层默认为D3DTOP_MODULATE,其余为D3DTOP_DISABLE.3:逐次使用,在前一层使用以后才可启用下一层。必须安装0-1-2-3-4-5-6-7的顺序。4:纹理混合是阶段混合,即0和1混合后的结果再和2混合。5:SetTextureStageState()6:查询是否支持纹理混合以及支持几层。if( pCa
2009-02-03 18:42:00
627
原创 ID3DXFont&&ID3DXSprite
ID3DXFont&&ID3DXSprite2009-01-22 22:031:定义:ID3DXFont* g_pFont = NULL; 2:创建对象:HRESULT hr;V_RETURN(D3DXCreateFont(pd3dDevice,15,0,FW_BOLD,0,FALSE,DEFAULT_CHAR
2009-02-03 18:41:00
792
转载 DXUT框架--转
所谓的框架是指SDK目录下/Samples/C++/Common路径下的DXUT系列函数包装。 DXSDK2006和2003版的比起来更新了不少东西,比如DirectX10,还有Managed DirectX等等。不过我关心的还是D3D9。除了个别接口的更改之外,DXSDK2006还提供了一
2009-02-03 18:39:00
621
原创 螺旋队列
21 22......20 7 8 9 1019 6 1 2 1118 5 4 3 1217 16 15 14 131点坐标为(0,0),3的坐标为(1,1).编程实现输入任意一点坐标(x,y)输出所对应的数字。x方向向右为正,y向上为正。原题y正方向向上,若是这样,用户输入坐标后,直接把y取负即可。个人答案: #include #include usin
2009-02-03 18:38:00
445
原创 精通DirectX 3D图形与动画程序设计--
以上是我在练习次程序时出现的问题:1形参书写错误LRESULT WINAPI MsgProc(HWND hWnd, UINT msg, WPARAM wParam,LPARAM lParam) wParam写为wparam 导致下面wParam无定义。return DefWindowProc( hWnd, msg, wParam, lParam );
2009-02-03 18:37:00
716
原创 两种贴图技术的比较
081230一: 利用两个兼容HDC,同时贴多张图不用做插入图片,修改ID等工作,动态链接,必需在目录下面有图片资源。HBITMAP bitmap ;HBITMAP first_bit ;HDC ui_mdc;HDC first_mdc;HDC dc=::GetDC(NULL);first_mdc=CreateCompatibleDC(dc);ui_mdc=Cre
2009-02-03 18:37:00
655
原创 C/C++语言经典实用趣味程序设计编程百例精解(3)
2008-08-08 14:231.4位反序数#includeint main(){int i;for(i=1002;i<1111;i++) /*穷举四位数可能的值*/if(i%10*1000+i/10%10*100+i/100%10*10+i/1000==i*9)/*判断反序数是否是原整数的9倍*/printf("The nu
2009-02-03 18:35:00
734
原创 C/C++语言经典实用趣味程序设计编程百例精解--大部分是自己写的(2)--上
三天打鱼两天晒网#includeint days(struct date day);struct date{int year;int month;int day;};int main(){struct date today,term;int yearday,year,day;printf("Enter year/month/day:");scanf
2009-02-03 18:33:00
1102
原创 安装VS2005出错2349的解决办法
用光盘安装会出现这个问题,拷到硬盘上再装,解决。 有些软件用光盘安装都会出现问题,这时候需要我们把它拷到硬盘上安装,记住这个方法!
2009-02-03 18:32:00
705
原创 访问控件的几种方法
获取控件或子窗口句柄:CWnd* GetDlgItem( int nID ) 获取控件文本: GetDlgItemText( int nID, LPTSTR lpStr, int nMaxCount ) GetDlgItem(IDC_NUMBER1)-
2009-02-03 18:29:00
603
原创 C/C++语言经典实用趣味程序设计编程百例精解--大部分是自己写的(1)
查看文章写新文章 C/C++语言经典实用趣味程序设计编程百例精解--大部分是自己写的(1)2008-06-15 21:52 在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线对余弦曲线放大十倍#include#includeint main(){doubl
2009-02-03 18:29:00
1122
原创 豁然开朗:解决cant open "stlport_vc6_static.lib"(二)
二点起床,第一件事就是打开笔记本,脸也没洗,接着整昨晚那玩意。翻了一遍书,恍然大悟。在以下两个目录路径中调整你STL库文件配置,必须上调至第一位,以免VC++自身库相冲突。可读性最好的是SGI版本,建议读源码的话就看这个版本好了,但是他只能用在linux上,在VC++上不能用,最好就选STLport ,就是现在我安装的这个版本。VC++上自带的SLT版本是P.J.Pl
2009-02-03 18:28:00
2037
原创 vector 笔记
33:vector 重载了[],可以用下标对元素操作,aa.size()易错写成aa.end() ;vector aa;for (int i=0;icout<<"["<<i<<"]"<<": "用迭代器访问vector 元素:vector::iterator i; i=aa.begin();*i ;34:vector
2009-02-03 18:26:00
416
原创 文件夹操作
创建文件夹: char buf[256];::GetCurrentDirectory(256,buf); //获取程序根目录路径m_name.GetWindowText(name);strcat(buf,"//");strcat(buf,name);CreateDirectory(buf,NULL);删除文件夹: char buf[
2009-02-03 18:24:00
369
原创 查看并终止程序
查看并终止程序2008-05-09 14:42///////////////////////////////////////////////////////////////// 02ProcessList.cpp文件#include "stdafx.h"#include #include // 声明快照函数的头文件BOOL Termina
2009-02-03 18:23:00
454
原创 24点
#include #define l 24main(){float x,y,z,m,a,b,c,d;int i;printf("In x,y,z,m:/n");scanf("%f%f%f%f",&x,&y,&z,&m);for(i=1;i{if(i==1) { a=x;b=y;c=z;d=m; }if(i==2) { a=x;b=y;c=m;d=z; }if
2009-02-03 18:19:00
497
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人