3D游戏引擎
文章平均质量分 71
四夕_日月
这个作者很懒,什么都没留下…
展开
-
ATL 初探com编程
首先随便写个ATL程序,版本的b'd原创 2014-09-24 12:34:43 · 870 阅读 · 0 评论 -
ATL 调用COM对象
创建完COM对象后,接下来是如何调用COM组件了。这里是在c++中的调用COM对象的方法。创建COM对象一般有三种方法,正常创建一个对象,使用CoCreateInstance函数。若在远程系统中创建一个对象,使用CoCreateInstanceEX函数。而创建多个同一CLSID的对象时,使用CoGetClassObject函数。1.先简单的使用CoCreateInstance函数创建一个C原创 2014-10-26 00:43:13 · 2508 阅读 · 0 评论 -
Direct sdk
win8之后微软就不单独发行DirectX SDK,从vs2012开始,DX SDK都集成到Windows SDK中了。直接可以从win sdk中找到,头文件具体位置在C:\Program Files (x86)\Windows Kits\8.0\Include这个文件夹下有um:非托管程序专用的头文件。shared:非托管(um)与WinRT程序公用的头文件。WinRT:Wi原创 2014-10-25 14:58:56 · 1040 阅读 · 0 评论 -
ATL 创建COM对象
之前写了一篇原始dll的创建过程,以及直接使用LoadLibrary加载动态库。但ATL所做的一个很重要的功能就是引入COM对象这个概念。首先, ATL active template library为活动模板库,ATL为asp代码中提供COM对象应用。而一般使用活动模版库来创建COM组件。简单来说ATL一般作为方便快捷的COM开发工具使用。而ATL中使用的基本技术为 COM技术,C++模原创 2014-10-26 00:43:15 · 2743 阅读 · 0 评论 -
3D游戏引擎一 win32编程
Windows程序一般都等待用户进行一些操作,然后响应并采取行动。一般来说,对win32的程序的操作都会转换为系统事件队列中的消息,如按键消息WM_KEYDOWN,WM_MOUSECLICK等传递键盘以及鼠标的操作消息。系统消息传递给程序的本地事件队列,然后在传递给WinProc()函数进行主窗口的消息处理,处理完消息后,程序转到WinMain()主函数中,而此时一般主函数依然在进行消息循环,原创 2014-10-25 15:14:08 · 1627 阅读 · 0 评论 -
DC,HDC,CDC
DC Device Context 是Windows中的一种数据结构,包含GDI需要的原创 2014-10-24 21:54:24 · 1057 阅读 · 0 评论 -
主事件循环
主循环一般如此写:while (GetMessage(&msg, NULL, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } }首先在这个主循环之间,main函数已经对当前窗口原创 2014-10-25 15:12:25 · 1399 阅读 · 0 评论 -
WIN32_LEAN_AND_MEAN
Windows.h#ifndef WIN32_LEAN_AND_MEAN#include #include #include #include #ifndef _MAC#include #include #include #include #endif#include #ifndef _MAC#include #include #endif#ifndef NOC原创 2014-10-24 19:22:19 · 1056 阅读 · 0 评论 -
MessageBox()函数
MessageBox()函数,这是一个极常用的Win32 API,在屏幕显示一个窗口,询问问题并等待用户输入。其原型为 int MessageBox(HWND hwnd,LPCTSTR lptext, LPCTSTR lpcation,UINT utype)hwnd 为父窗口句柄,设置为NULL,表示使用Windows 桌面作为其父窗口。lptext 为一个以NULL结尾的字符串,表示包含原创 2014-10-24 20:27:39 · 3694 阅读 · 0 评论 -
事件处理程序WinProc
事件处理函数是一个回调函数,Windows在窗口中发生需要处理的事件时,在主时间循环中调用该函数。时间处理函数可处理任何想处理的事件,其他的事件传递给Windows进行处理。在用户和Windows执行某些操作时,将生成一些针对应用程序的事件和消息,所有这些消息都将进入一个队列中,而针对一个应用程序窗口的事件和消息将从消息队列中转移到该窗口的私有队列中。然后主事件循环将获取这些消息并将它们发送给原创 2014-10-25 15:08:08 · 6627 阅读 · 0 评论 -
创建Windows类
Windows中窗口,控件,对话框实质上都是窗口,Windows类是一种Windows可以处理的窗口类型描述。在Windows中有大量预定义的Windows类,但是也可以方便的创建自己的Windows类。对于每个应用程序,至少需要创建一个Windows类。以Windows类为模版,生成窗口,处理消息。有两种数据结构可用于保存Windows类消息:WNDCLASS和WNDCLASSEX。WNDC原创 2014-10-25 15:05:31 · 1496 阅读 · 0 评论 -
3D游戏引擎〇 开始
游戏循环:初始化:执行一些基本的初始化操作,如内存分配,资源获取,从磁盘加载数据等。进入游戏循环:进入主游戏循环,用户不断地执行动作,知道退出主循环为止。读取玩家输入:处理玩家输入,或将其存储到缓存区中,供AI和游戏逻辑使用。执行AI和游戏逻辑:这部分为游戏代码的主体部分,将执行AI,物理系统,和通用系统逻辑,并根据结果在屏幕上绘制下一帧。渲染下一帧:首先游戏绘制的下一帧图像在原创 2014-10-25 15:00:51 · 826 阅读 · 0 评论 -
WinMain()主函数
int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow){ MessageBoxA(NULL,"TRY A TRY","MY TRY", MB_OK | MB_ICONEXCLAMATION ); return (原创 2014-10-24 20:19:09 · 15424 阅读 · 0 评论 -
创建一个窗口
用函数CreateWindow()或CreateWindowEx()来创建窗口(或任何其他类似于窗口的对象,如控件)。创建窗口时必须提供窗口类的文本名称,这个窗口类名称为之前想系统申请的类名称,用于表示窗口类。下面是CreateWindowEx()的函数原型:CreateWindowEx(DWORD dwExStyle,//窗口的扩展风格,是一种高级功能,一般都为NULLLPCTSTR原创 2014-10-25 15:11:23 · 1643 阅读 · 0 评论