资源简介
3D图形库实心渲染源代码
平底三角形
平顶三角形
任意三角形
物体实心渲染
代码片段和文件信息
// 头文件
#include
#include
#include “CPPYIN.3DLib.h“
#include “CPPYIN.Math.h“
using namespace _CPPYIN_3DLib;
using namespace _CPPYIN_Math;
// 宏定义
#define WINDOW_CLASS_NAME TEXT(“CPPYIN3DWNDCLS“)
#define WINDOW_title TEXT(“CPPYIN3DCONSOLE“)
#define SCREEN_WIDTH 800
#define SCREEN_HEIGHT 600
#define SCREEN_BPP 32
#define WAIT_TIME 30
// 全局变量定义
HWND g_WindowHandle;
HINSTANCE g_HInstance;
DWORD g_Clock;
POINT4D g_VertexList[4];
POLY g_Poly[4];
object g_Obj;
CAMERA g_Camera;
int g_ObjRatationAngelZ = 0;
// 宏脚本
#define KEY_DOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)
#define KEY_UP(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)
// 函数定义
DWORD GetClock()
{
return GetTickCount();
}
void StartClock()
{
g_Clock = GetClock();
}
void WaitClock()
{
while((GetClock() - g_Clock) < WAIT_TIME)
{
Sleep(5);
}
}
int Game_Init()
{
Init3DLib(g_HInstance g_WindowHandle SCREEN_WIDTH SCREEN_HEIGHT);
InitSinCosTable();
// 设置局部坐标
POINT4D v1 = { 0 1 0 1 };
POINT4D v2 = { -1 -1 0 1 };
POINT4D v3 = { 1 -1 0 1 };
POINT4D v4 = { 0 0 2 1 };
g_VertexList[0] = v1;
g_VertexList[1] = v2;
g_VertexList[2] = v3;
g_VertexList[3] = v4;
g_Poly[0].VertexList = g_VertexList;
g_Poly[0].VertexIndexs[0] = 0;
g_Poly[0].VertexIndexs[1] = 2;
g_Poly[0].VertexIndexs[2] = 1;
g_Poly[0].State = POLY_STATE_ACTIVE;
g_Poly[0].Color = ARGB(025500);
g_Poly[1].VertexList = g_VertexList;
g_Poly[1].VertexIndexs[0] = 3;
g_Poly[1].VertexIndexs[1] = 1;
g_Poly[1].VertexIndexs[2] = 2;
g_Poly[1].State = POLY_STATE_ACTIVE;
g_Poly[1].Color = ARGB(002550);
g_Poly[2].VertexList = g_VertexList;
g_Poly[2].VertexIndexs[0] = 0;
g_Poly[2].VertexIndexs[1] = 3;
g_Poly[2].VertexIndexs[2] = 2;
g_Poly[2].State = POLY_STATE_ACTIVE;
g_Poly[2].Color = ARGB(000255);
g_Poly[3].VertexList = g_VertexList;
g_Poly[3].VertexIndexs[0] = 0;
g_Poly[3].VertexIndexs[1] = 1;
g_Poly[3].VertexIndexs[2] = 3;
g_Poly[3].State = POLY_STATE_ACTIVE;
g_Poly[3].Color = ARGB(02552550);
// 设置物体属性
g_Obj.PolyCount = 4;
g_Obj.PolyList[0] = g_Poly[0];
g_Obj.PolyList[1] = g_Poly[1];
g_Obj.PolyList[2] = g_Poly[2];
g_Obj.PolyList[3] = g_Poly[3];
g_Obj.VertexCount = 4;
g_Obj.VertexListLocal[0] = g_VertexList[0];
g_Obj.VertexListLocal[1] = g_VertexList[1];
g_Obj.VertexListLocal[2] = g_VertexList[2];
g_Obj.VertexListLocal[3] = g_VertexList[3];
POINT4D wp = { 0 0 5 1 };
g_Obj.WorldPos = wp;
// 设置相机
VECTOR4D cwp = { 5 0 6 1 };
VECTOR4D cdir = { 0 0 0 1 };
POINT4D ctarget = { 0 0 5 1 };
VECTOR4D cv = { 0 0 1 1 };
CameraCreate(&g_Camera CAMERA_TYPE_UVN &cwp &cdir &ctarget &cv 0 5 50 90 SCREEN_WIDTH SCREEN_HEIGHT);
CameraUpdateMatrix(&g_Camera);
// 缓存透视和屏幕变换矩阵
// 透视变换矩阵
BuildProjectMatrix(&g_Camera &g_Camera.MatrixProjection);
// 屏幕变换矩阵
BuildScreenMatrix(&g_Camera &g_Cam
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6430 2011-02-26 12:34 CPPYIN.3DConsole\CPPYIN.3DConsole\CPPYIN.3DConsole.cpp
文件 4677 2011-02-01 23:04 CPPYIN.3DConsole\CPPYIN.3DConsole\CPPYIN.3DConsole.vcxproj
文件 1788 2011-02-01 23:04 CPPYIN.3DConsole\CPPYIN.3DConsole\CPPYIN.3DConsole.vcxproj.filters
文件 143 2011-02-01 15:44 CPPYIN.3DConsole\CPPYIN.3DConsole\CPPYIN.3DConsole.vcxproj.user
文件 26050 2011-02-27 09:09 CPPYIN.3DConsole\CPPYIN.3DConsole\CPPYIN.3DLib.cpp
文件 6163 2011-02-26 12:55 CPPYIN.3DConsole\CPPYIN.3DConsole\CPPYIN.3DLib.h
文件 29 2011-02-01 23:04 CPPYIN.3DConsole\CPPYIN.3DConsole\CPPYIN.Diagnosis.cpp
文件 103 2011-02-03 13:49 CPPYIN.3DConsole\CPPYIN.3DConsole\CPPYIN.Diagnosis.h
文件 26 2011-02-01 23:04 CPPYIN.3DConsole\CPPYIN.3DConsole\CPPYIN.Helper.cpp
文件 94 2011-02-03 13:49 CPPYIN.3DConsole\CPPYIN.3DConsole\CPPYIN.Helper.h
文件 18762 2011-02-22 18:44 CPPYIN.3DConsole\CPPYIN.3DConsole\CPPYIN.Math.cpp
文件 10796 2011-02-22 18:43 CPPYIN.3DConsole\CPPYIN.3DConsole\CPPYIN.Math.h
文件 915 2011-02-01 15:44 CPPYIN.3DConsole\CPPYIN.3DConsole.sln
..A..H. 19968 2011-03-08 20:09 CPPYIN.3DConsole\CPPYIN.3DConsole.suo
目录 0 2011-03-08 20:10 CPPYIN.3DConsole\CPPYIN.3DConsole
目录 0 2011-03-08 20:10 CPPYIN.3DConsole
----------- --------- ---------- ----- ----
95944 16
- 上一篇:clark等幅值变换的推导
- 下一篇:群星系列流明单片机的I2C写法
相关资源
- 基于SPCE061A单片机的图形液晶模块的驱
- 基于SPCE061A单片机的图形液晶模块的驱
- 亲子嘉年华路演活动模型
- 基于GTP修正的R3DGM建模与可视化方法
- 通过3D打印样品发现NMR曲线的不同姿态
- 3维泊松表面重建
- 3d N = 1 Chern–Simons问题理论与局部
- 超级场景清理器(SPCleaner)v1.0免费版
- raphael画各种简单的图形都可以拖动
- Altium designer超全元件库+封装库部分
- FMEDesktop2019特别版forMacv2019.0.0.0.19181苹
- 易语言123test源码易语言图形窗口的模
- Win7_x86 x64_EWF_FBWF(带EWFMGMT图形管理)
- 围绕圆球扩展3d N $$ \\ mathcal {N} $$ =
- 3d N $$ \\ mathcal {N} $$ = 4个理论和共形块
- 反射组和3d N $$ \\ mathcal {N} $$ 6 SCFT
- 大N重整化组以3d N $$ \\ mathcal {N} $$ =
- 3d N $$ \\ mathcal {N} $$的扭曲指数= 4轨距
- 精确结果为3d N $$ \\ mathcal {N} $$ = 2 S
- 3d N = 1 $$ \\ mathcal {N} = 1 $有效超重力和
- 3d N $$ \\ mathcal {N} $$ = 2镜像对称,pq网
- 3d N $$ \\ mathcal {N} $$ = 2对偶的计量和去
- 手性3d SU3SQCD且N = 2 $$ \\ mathcal {N} = 2
- 易语言超级图形模块源码
- D 6 R 4曲率校正,模块化图形函数和
- Delft3D对污染物的扩散输运计算
- Orientation-resolved 3d5/2 energy shift of Rh
- VRay 3.60.03 for 3dsmax 2013-2018破解补丁
- 3D版俄罗斯方块
- 基于3D GIS的矿井三维可视化平台
评论
共有 条评论