天行健 君子当自强而不息

是来自C++博友的:

生活让我懂得

posted @ 2007-03-17 17:00 lovedday 阅读(133) | 评论 (0)编辑 收藏
  r_t1.jpg
                                    线框模式

o_t2.jpg
                                     实体模式

主要是通过.BMP格式的256色高程图来表示地形的高度,高程图将高度信息传给地图生成函数,该函数计算纹理坐标,然后加载纹理图来渲染地形。
posted @ 2007-03-17 03:52 lovedday 阅读(413) | 评论 (0)编辑 收藏
一日一日生命积累,一时一刻我们欢喜悲哀。

所有认真受苦的眼泪,将汇集成为,另一片汪洋。

来自伊能静的《生生世世》,一段感人的心灵独白。


o_shengshengshishi.jpg


posted @ 2007-03-16 22:56 lovedday 阅读(153) | 评论 (0)编辑 收藏
今天起来打开电脑,莫名发现系统不能正常使用了,也懒得去搞清楚是什么原因引起的,花了10分钟直接ghost还原了。
posted @ 2007-03-16 20:11 lovedday 阅读(95) | 评论 (0)编辑 收藏
本来想画张3D渲染流程图的,但不知道为什么,word2003和visio2003老崩溃,估计是我安装的windows主题导致的,这个主题还导致声卡驱动的丢失.

基本上是这么一个流水线:

物体的局部坐标 --> 世界坐标 --> 物体剔除 --> 插入到渲染列表 --> 背面消除 --> 相机变换 --> 3D物体空间裁剪 --> 光照模块 --> 透视变换 --> 图象空间裁剪 --> 光栅化

o_n1.jpg
o_n2.jpg
posted @ 2007-03-16 05:17 lovedday 阅读(257) | 评论 (0)编辑 收藏
书店本身不大,但书的选择都是很严格的,大多都是好书,而且氛围很好。
有时候自己并不喜欢太大的书店,逛以来很累,而小一点却有一些情调的书店却让人感觉惬意从而产生购买的欲望。

o_dt_hexiang.jpg

o_sb_01.jpg
o_shigushop.JPG
posted @ 2007-03-15 19:08 lovedday 阅读(259) | 评论 (0)编辑 收藏

爱在左,同情在右,走在生命的两旁,随时撒种,随时开花,将这一径长途,点缀的香花弥漫,使穿枝拂叶的行人,踏着荆棘,不觉得痛苦,有泪可落,却不是悲凉.

posted @ 2007-03-15 19:02 lovedday 阅读(139) | 评论 (0)编辑 收藏

很简单,就是在WinProc函数里增加一个WM_ACTIVATE消息处理,然后调用ClipCursor来限制鼠标的可移动范围.
好像WIN32没有直接将RECT从client坐标转换成screen坐标的,所以我自己写了这么个函数.
当然这里给出的代码并不是高效的,GetSystemMetrics不应该在WinProc里调用,但这里只是给出了一种解决方案,暂不考虑代码执行效率的问题.

//-------------------------------------------------------------------------
// Translates rect from client coordinate to screen coordinate.
//-------------------------------------------------------------------------
void RectFromClientToScreen(LPRECT rect)
{
    POINT tmp;
 
    tmp.x = rect->left;
    tmp.y = rect->top;

    ClientToScreen(g_mainWindowHandle, &tmp);

    rect->left = tmp.x;
    rect->top  = tmp.y;

    tmp.x = rect->right;
    tmp.y = rect->bottom;

    ClientToScreen(g_mainWindowHandle, &tmp);

    rect->right  = tmp.x;
    rect->bottom = tmp.y;
}

//-------------------------------------------------------------------------
// Main windows event procedure.
//-------------------------------------------------------------------------
LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    PAINTSTRUCT ps;     // used in WM_APINT
    HDC hdc;            // handle to a device context

    int screenWidth  = GetSystemMetrics(SM_CXSCREEN);
    int screenHeight = GetSystemMetrics(SM_CYSCREEN);
 
    RECT screenRect = {0, 0, screenWidth, screenHeight};
    RECT clientRect; 
 
    // what is the message
    switch (msg)
    {
    case WM_CREATE:
        // do initialization stuff here
        return 0;
    case WM_PAINT:
        // start painting
        hdc = BeginPaint(hwnd, &ps);
        // end painting
        EndPaint(hwnd, &ps);
        return 0;
    case WM_ACTIVATE:
       if(LOWORD(wParam) == WA_ACTIVE)
       {
          GetClientRect(g_mainWindowHandle, &clientRect);   
          RectFromClientToScreen(&clientRect);   
          ClipCursor(&clientRect);
       }
    else if(LOWORD(wParam) == WA_INACTIVE)
       ClipCursor(&screenRect);
       break;
    case WM_DESTROY:
        // kill the application
        PostQuitMessage(0);
        return 0;
    }

    // process any messages that we did not take care of
    return DefWindowProc(hwnd, msg, wParam, lParam);
}

posted @ 2007-03-14 23:48 lovedday 阅读(209) | 评论 (0)编辑 收藏
增加了彩色光源和纹理映射,支持背景切换(按N).

按键说明:

W  -  开/关线框模式
I  -  开/关点光源
A  -  开/关环境光源

按ESC键退出,不过还有一个小问题没解决,就是当鼠标移到游戏窗口之外时,将激活别的窗口.




posted @ 2007-03-14 20:43 lovedday 阅读(388) | 评论 (3)编辑 收藏




posted @ 2007-03-13 16:45 lovedday 阅读(268) | 评论 (0)编辑 收藏
仅列出标题
共136页: First 128 129 130 131 132 133 134 135 136 

公告

导航

统计

常用链接

随笔分类(178)

3D游戏编程相关链接

搜索

最新评论