永远也不完美的程序

不断学习,不断实践,不断的重构……

常用链接

统计

积分与排名

好友链接

最新评论

#

最新-基于四叉树的LOD地形设计

     摘要: 上次说过要在这里把最新的地形设计写出来,不过一直没时间写,也想画些UML图,但没工具画,呵呵,只能通过手写了。希望大家看得明白吧。
  阅读全文

posted @ 2009-01-10 16:19 狂烂球 阅读(7370) | 评论 (73)编辑 收藏

学习总结与下一阶段计划

     摘要: 首先总结一下上一阶段的成果。
1、 LOD大规模地形已经进行了优化与重构,实现了1024x1024大规模地形,并实现了地形的光照模型,DEBUG版本平均帧数已经达到40,稍后会写上最新的LOD地形设计思想。  阅读全文

posted @ 2008-12-13 20:33 狂烂球 阅读(1623) | 评论 (0)编辑 收藏

学习计划

        要实现目标,就要有计划的执行,最近发现有些混乱,要整理一下计划。计划如下:
        1、实现室外地形:LOD大规模地形,shader纹理混合。
        2、实现水波:包括反射与透明(shader实现,可能非常难,参考nVidia SDK),并实现水底下的雾化。
        3、实现模型,包括骨骼动画和多帧动画。
        4、实现特效粒子。
       

posted @ 2008-08-27 10:24 狂烂球 阅读(253) | 评论 (0)编辑 收藏

Skybox边线消除的解决办法

     摘要: Skybox搞好后,发现在边线有很明显的裂缝,一开始时不知道如何解决,后来问了人,有人说把纹理采样改成Point,有人说纹理坐标改成0.001到0.999,这两样我都试过,发现改成Point裂缝是消除了,但看起来很不好看,改成0.001到0.999也有裂缝。  阅读全文

posted @ 2008-08-25 10:44 狂烂球 阅读(1590) | 评论 (0)编辑 收藏

LOD地形设计与实现

     摘要: 地形从一开始研究,到实现,分了好多个版本,重构了好多次……主要问题在于对LOD数据结构的不熟悉和对索引用法的不熟悉。经过一系列的研究与学习,总结了如下实现LOD的方法  阅读全文

posted @ 2008-08-18 17:08 狂烂球 阅读(3380) | 评论 (11)编辑 收藏

CreateWindow创建失败的问题

    今天重写了一下3D程序的架构,基本上是参考DX9b那套构架写的,发现CreateWindow返回NULL,而且GetLastError()也返回0,一时很奇怪,后来上网查了一下,才发现是WndProc函数的问题,我代码如下:
if( m_hWnd == NULL) 
    
{
        
// Register the windows class
        WNDCLASS wndClass = 0, WndProc, 00, hInst,
            LoadIcon( hInst, MAKEINTRESOURCE(IDI_MY3DGRAPHIC) ),
            LoadCursor( NULL, IDC_ARROW ),
            (HBRUSH)GetStockObject(WHITE_BRUSH),
            NULL, m_szWindowClass }
;
        RegisterClass( 
&wndClass );

                
// Set the window's initial style
        m_dwWindowStyle = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | 
            WS_MINIMIZEBOX 
| WS_MAXIMIZEBOX | WS_VISIBLE;

        
// Set the window's initial width
        RECT rc;
        SetRect( 
&rc, 00, m_dwCreationWidth, m_dwCreationHeight );
        AdjustWindowRect( 
&rc, m_dwWindowStyle, true );

        
// Create the render window
        m_hWnd = CreateWindow( m_szWindowClass, 
            m_strWindowTitle, 
            m_dwWindowStyle,
            CW_USEDEFAULT, 
            CW_USEDEFAULT,
            (rc.right 
- rc.left), 
            (rc.bottom 
- rc.top), 
            
0,
            NULL, 
//LoadMenu( hInstance, MAKEINTRESOURCE(IDC_MY3DGRAPHIC) ),
            hInstance, 
            
0 );

        

WndProc代码如下:
LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
    
return g_sApp->MsgProc( hWnd, uMsg, wParam, lParam );
}
因为在WndProc中,g_sApp指针此时还为NULL,所以创建不成功。
调用CreateWindow时,CreateWindow会调用一次WndProc,并且要求WndProc返回TRUE,因此要注意该问题。

posted @ 2008-08-14 22:36 狂烂球 阅读(8417) | 评论 (6)编辑 收藏

Windows服务器编程之工作线程设计

     摘要: Windows下的工作线程设计  阅读全文

posted @ 2008-04-17 08:32 狂烂球 阅读(704) | 评论 (0)编辑 收藏

(转载)好男人无奈:妞都被坏男人抢走了

     摘要: 男人不坏,女人不爱。这句话在现实中非常准确。虽然很多女人会矢口否认这一点甚至对此嗤之以鼻。  阅读全文

posted @ 2008-04-08 14:38 狂烂球 阅读(609) | 评论 (2)编辑 收藏

用DirectX写的Skybox

     摘要: 用DX实现Skybox的原理与步骤。  阅读全文

posted @ 2008-03-24 09:27 狂烂球 阅读(1637) | 评论 (1)编辑 收藏

仅列出标题
共4页: 1 2 3 4