三维游戏DirectX笔记

三维游戏DirectX笔记

前言

今天看过去写的笔记,于是干脆迁移其中的一部分到博客上。也回忆一下啊。

笔记

第零章:绪论

1.网络游戏编程:

服务端:网络编程、人工智能、数据库、信息安全

客户端:2D游戏编程、3D游戏编程、美工设计、音乐设计

其他必要流程:游戏剧本策划、游戏项目管理、文档编辑等

2.DirectX的优势:功能丰富的底层API、比OpenGL应用更广、比unity更底层,功能扩展更强。

3.学习内容:图形学的数学知识、3D技术(光照、纹理、alpha混合等)、3D游戏必要技术(三维网格模型、动画网格模型等)

第一章:面向对象的游戏编程原理

1.游戏开发基本流程:游戏初始化过程主要是游戏内容的缓存;游戏实现过程主要通过用户操作、游戏逻辑过程、游戏内容渲染三个过程交替循环实现。

第二章:Windows编程基础

1.Windows的消息机制:通过事件来描述程序的运行状态或环境的改变;通过消息来通知应用程序某个事件的发生,然后调用相应程序响应。(多字节字符集)

2.生成Windows窗体的流程:WinMain()函数、设计和注册窗口类WNDCLASS、创建窗口createwindow()、显示和更新窗口showwindow()、消息循环MSG(getmessage、peekmessage)、注销窗口类UnRegisterClass()

3.窗口过程:键盘消息WM_KEYWON、鼠标消息WM_MOUSEMOVE、时间消息

第三章:DirectX简介

1.绘制流水线:3D物体模型、世界变换、取景变换、背面消隐、光照、裁剪、透视投影、视口变换、光栅化、2D图片(局部坐标、世界坐标、投影坐标、观察坐标)

2.视口变换:缩放、平移

3代码封装:Main模块<-MyD3D<-D3DUT

MyD3D类:CreateDevice函数(创建窗口和获得接口)、initialize函数(常规初始化)、FrameMove函数、Render函数、release函数(内存释放)、getDevice函数(返回接口)

第四章:基本空间变换

1.左手坐标系:平面直角坐标系的基础上添加一条指向内部的Z轴。

2点积常用于判断向量间的垂直问题。叉积常用于计算平面法向量的问题。

3.矩阵变换:旋转

第五章:基于顶点缓存的图形绘制

1.基于顶点缓存的图形绘制(IDirect3DVertexBuffer9顶点缓存接口类)

顶点结构体设置

创建顶点缓冲: CreateVertexBuffer()方法

(FVF自由顶点格式:三维顶点、颜色顶点、纹理顶点)

访问缓存内容:lock、unlock

数据流输入源指定:SetStreamSource(数目、指针、偏移量)

顶点格式设置:SetFVF坐标、法线、漫反射、镜面反射、纹理坐标。

顶点缓存绘制:DrawPrimitive:种类、起始点、数目

2基于索引缓存的图形绘制

创建顶点索引缓存:CreateIndexBuffer

访问缓存内容

指定输入源

绘制DrawIndexedPrimitive函数

3.基于颜色顶点的图形绘制

创建颜色顶点缓冲区:CreateVertexBuffer(colorvertex)

访问顶点缓存区lock、unlock

渲染颜色顶点缓存:Flat(第一个顶点为整个图元颜色)、Gouraud(线性插值算法)、Phong三种着色模式

4基于纹理顶点的图形绘制

创建顶点缓存CreateVertexBuffer(texturevertex)

LOCK

纹理缓存:D3DXCreateTextureFromFile

纹理顶点的绘制SetTexture

纹理过滤器(采样):最近点采样、线性纹理过滤、各向异性纹理过滤、多级渐进过滤

第六章:融合技术

1.融合技术:将未光栅化的颜色与已光栅化的颜色合成。如将水壶在桌子上显示

第七章:光照与材质

1.光源(点光源、方向光、聚光灯)

2光照(漫射光、镜面光、环境光):diffuse、specular、ambient

3材质

第八章:动画网格模型与三维网格模型

1.将带骨骼的XFile文件导出

补充:设计camera、地形、粒子系统。以及网格和拾取。

总结

是游戏引擎的基础。其中的三维部分和三维建模相通。

更新地址:GitHub

更多内容请关注:CSDNGitHub掘金

猜你喜欢

转载自blog.csdn.net/weixin_42875245/article/details/109309371