青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

  C++博客 :: 首頁 :: 聯(lián)系 ::  :: 管理
  163 Posts :: 4 Stories :: 350 Comments :: 0 Trackbacks

常用鏈接

留言簿(48)

我參與的團隊

搜索

  •  

積分與排名

  • 積分 - 402524
  • 排名 - 59

最新評論

閱讀排行榜

評論排行榜

自從LOD地形第一節(jié)推出以來,受到不少朋友的關(guān)注,本人真是受寵若驚,無奈自己水平有限,怕寫不好讓大家對自己失望,我只能勉為其難,努力去寫,同時歡迎高人能手給于指正,大家共同學習,共同提高!
LOD地形的四叉樹算法原理就是對地形進行四叉樹分割,同時檢查該節(jié)點是否位于視截體內(nèi)部,如果在視截體內(nèi)部且滿足視距,周圍點高程誤差等條件時,則對該節(jié)點繼續(xù)分割,否則不予分割。其中重點是視截體的計算,以及地形的分割及渲染。下面介紹幾個系統(tǒng)中用到的類。
首先介紹標志節(jié)點是否分割的類Bit
類定義:

//該類根據(jù)節(jié)點的位置,為每個節(jié)點在標志段里相應(yīng)位設(shè)一個標識。
/***********************************************************************
*    Copyrights Reserved by QinGeSoftware
*    Author : Qinge
*    Filename : Bit.h 1.0
*    Date: 2008-1-10
************************************************************************/
#pragma once

class Bit
{
public:
    void SetScale(int nScale);                        //伸縮系數(shù)
    void Set(int x, int y, BOOL bFlog=TRUE);          //設(shè)置標志位
    void Reset();                                     //標志清零
    BOOL CreateBits(int nXBites, int nRows);          //創(chuàng)建標志數(shù)組
    BOOL IsTrue(int x, int y);                        //查詢該位標志
public:
    Bit();
    virtual ~Bit(void);
private:
    unsigned char *m_pBits;   //存儲位標志的指針
    int m_nXBytes;            //X方向的字節(jié)數(shù)
    int m_nZRows;             //Z方向的行數(shù)
    int m_nScale;             //伸縮系數(shù)
};



//類實現(xiàn)文件
/***********************************************************************
*    Copyrights Reserved by QinGeSoftware
*    Author : Qinge
*    Filename : Bit.cpp 1.0
*    Date: 2008-1-10
************************************************************************/
#include "StdAfx.h"
#include "Bit.h"

Bit::Bit(void)
{
    m_pBits  = NULL;                                     //指針初始化為NULL   
    m_nXBytes = 0;
    m_nZRows  = 0;
    m_nScale = 1;                                         //不能初始化為0,因為是除數(shù)

}

Bit::~Bit(void)
{
    if(m_pBits != NULL)
    {
        delete [] m_pBits;                              //釋放指針
        m_pBits = NULL;                                 //置為空,否則會成為野指針
    }
}

BOOL Bit::CreateBits(int nXBites, int nRows)
{
    //nXBits 必須是8的倍數(shù)
    m_nXBytes = nXBites/8+1;                            //想想為什么加1
    m_nZRows   = nRows;
    m_pBits = new unsigned char[m_nXBytes * m_nZRows];  //分配空間
    memset(m_pBits, 0, m_nZRows * m_nXBytes);           //標志段全部初始化0
    return 0;
}

void Bit::SetScale(int nScale)
{
    m_nScale = nScale;                                 //提供操作私有變量的接口
}

void Bit::Set(int x, int y, BOOL bFlog )
{
     x = x / m_nScale;                                 //每隔m_nScale采樣
     y = y / m_nScale;
     unsigned char &c = m_pBits[y * m_nXBytes + x/8];  //獲得某字符的引用,注意賦值方式,否則
     unsigned char d = 0x80;                           //后面改了白該。
     d = d >>(x%8);                                    //根據(jù)X值得不同,首位右移相應(yīng)位數(shù)。移位
                                                       // 使得每個節(jié)點對應(yīng)一位。 
     if(bFlog)
     {
         c|=d;                                         //把字符C與X相應(yīng)的位置為1

     }
     else
     {
         d = ~d;                                       //和某節(jié)點對應(yīng)的位為0,其余位為1
         c &= d;                                       //把字符C與X相應(yīng)的位置為0

     }

}

void Bit::Reset()
{
    memset(m_pBits, 0, m_nXBytes * m_nZRows);

}

BOOL Bit::IsTrue(int x, int y)
{
   x = x/m_nScale;
   y = y/m_nScale;
   unsigned char c = m_pBits[y*m_nXBytes+x/8];                       //這次不是引用,想想為什么
   unsigned char d = 0x80;                                          
   c = c << (x%8);                                                   //為什么不是d移位?
   return c&d;             //把與X對應(yīng)的位返回,其余位為0


}
//該函數(shù)得到字符包含包含8個節(jié)點的標志,必須根據(jù)X的值進行移位方能找到對應(yīng)的節(jié)點,這次是取得標識而不是設(shè)置標識,故不用引用。c移位而不是d移位,是為了把標識移到首位。然后和0x80進行位與操作得到BOOL值。d移位操作效果是一樣的,但不是左移而是右移。 
posted on 2008-01-14 21:15 sdfasdf 閱讀(3003) 評論(3)  編輯 收藏 引用 所屬分類: OPENGL

Feedback

# re: LOD地形設(shè)計(二) 2008-01-15 08:50 minidxer
很不錯很不錯~
努力加油哈  回復  更多評論
  

# re: LOD地形設(shè)計(二) 2008-01-15 10:36 yayv
多講原理,少貼代碼不是更好么?  回復  更多評論
  

# re: LOD地形設(shè)計(二) 2011-07-23 11:06 cgsgood
不錯,代碼很明了  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲综合精品| 亚洲精品在线二区| 午夜欧美大尺度福利影院在线看| 久久天堂国产精品| 久久精品国产亚洲高清剧情介绍| 一本一道久久综合狠狠老精东影业 | 亚洲欧洲在线播放| 亚洲国产成人久久综合一区| 亚洲第一在线综合在线| 亚洲国产另类 国产精品国产免费| 欧美成人免费观看| 亚洲人成在线播放网站岛国| 一区二区三区精品国产| 亚洲一区二区三区中文字幕 | 在线一区观看| 久久久国产成人精品| 国产精品爱啪在线线免费观看| 国产伦一区二区三区色一情| 好看的av在线不卡观看| 国产精品99久久99久久久二8| 久久精品视频网| 一区二区三区不卡视频在线观看 | 美日韩免费视频| 亚洲深夜福利视频| 欧美国产一区二区| 一区二区三区精品国产| 性色av一区二区三区在线观看| 久久午夜精品| 国产三区精品| 亚洲欧美三级在线| 亚洲一区激情| 国产精品久久久久久影视| 亚洲免费成人| 一区二区三区高清在线 | 99国内精品久久久久久久软件| 午夜在线a亚洲v天堂网2018| 国产精品videosex极品| 中国成人亚色综合网站| 亚洲视频香蕉人妖| 国产精品一区二区三区四区| 欧美一区二区免费观在线| 亚洲一区在线视频| 国产一区二区欧美日韩| 久久夜色撩人精品| 欧美11—12娇小xxxx| 亚洲精品国产精品乱码不99| 亚洲久久成人| 国产婷婷色一区二区三区四区| 欧美日韩国产91| 午夜视频在线观看一区二区三区| 亚洲欧美日本精品| 亚洲国产精品va在线看黑人动漫| 亚洲精品视频在线| 国产亚洲欧洲一区高清在线观看| 快播亚洲色图| 国产精品高精视频免费| 毛片一区二区三区| 欧美成人一区二区| 欧美精品一区二区三区在线看午夜 | 91久久午夜| 国产丝袜一区二区三区| 99精品热视频| 99re6这里只有精品| 欧美怡红院视频| 亚洲女优在线| 国产精品vvv| 一本到高清视频免费精品| 狠狠久久亚洲欧美专区| 亚洲欧美一区二区视频| 亚洲综合色丁香婷婷六月图片| 久久激情五月激情| 久久国产精品高清| 国产人久久人人人人爽| 亚洲视频一区| 午夜视频一区| 国产欧美一区二区精品性色| 亚洲欧美一区二区精品久久久| 久久精品一区二区三区四区| 欧美福利一区二区| 亚洲精美视频| 欧美高清视频免费观看| 亚洲人成在线观看一区二区| 亚洲人成在线播放| 欧美成人精品高清在线播放| 亚洲精品综合| 国产精品啊啊啊| 久久电影一区| 亚洲第一久久影院| 亚洲欧美日韩久久精品| 国产一区成人| 欧美日韩国产一区二区三区| 一区二区三区视频在线看| 欧美一级专区免费大片| 精品不卡视频| 国产视频久久久久| 欧美视频在线观看免费网址| 亚洲午夜伦理| 99国内精品久久| 亚洲国产日韩在线一区模特| 亚洲欧美一区二区精品久久久| 亚洲激情女人| 尤物99国产成人精品视频| 久久本道综合色狠狠五月| 99视频精品| 亚洲区一区二| 最新亚洲视频| 亚洲国产精品一区二区三区| 国产色爱av资源综合区| 欧美精品久久一区二区| 久久久另类综合| 久久国产主播| 毛片一区二区| 欧美a级一区二区| 欧美激情女人20p| 欧美三级在线| 国产欧美亚洲精品| 国产自产精品| 日韩午夜免费| 亚洲影音一区| 欧美一激情一区二区三区| 久久精品人人做人人综合| 午夜日韩电影| 亚洲成色www8888| 亚洲美女av黄| 亚洲欧美成人网| 久久久久九九九九| 亚洲国产视频直播| 亚洲欧美日韩综合| 蜜臀99久久精品久久久久久软件| 欧美高潮视频| 韩日精品中文字幕| 国产精品99久久久久久久vr| 久久成人在线| 亚洲经典三级| 欧美一区午夜精品| 欧美丝袜一区二区| 91久久精品视频| 久久躁日日躁aaaaxxxx| 日韩性生活视频| 欧美华人在线视频| 在线观看日韩av先锋影音电影院| 亚洲视频日本| 亚洲美女性视频| 免费在线日韩av| 精东粉嫩av免费一区二区三区| 在线综合亚洲| 亚洲国产精品成人精品| 久久精品国产免费看久久精品| 国产精品毛片一区二区三区 | 欧美午夜美女看片| 亚洲黄页一区| 欧美aaa级| 欧美成人一区二区三区| 在线观看精品视频| 欧美va日韩va| 欧美日本高清视频| 99re6这里只有精品视频在线观看| 亚洲激情中文1区| 欧美日韩视频专区在线播放 | 欧美日韩国产成人在线观看| 久久精品卡一| 亚洲高清毛片| 一本色道久久99精品综合| 欧美日韩另类一区| 午夜精品久久久久久久| 先锋影音久久久| 亚洲品质自拍| 欧美在线3区| 亚洲免费在线观看视频| 在线观看不卡av| 国产精品99久久久久久久久久久久| 久久精品网址| 欧美揉bbbbb揉bbbbb| 欧美成人国产一区二区| 国产精品久久波多野结衣| 免费视频最近日韩| 国产精品亚洲第一区在线暖暖韩国| 久久综合激情| 国产乱码精品| 在线视频日韩| 一区二区不卡在线视频 午夜欧美不卡'| 亚洲欧美久久| 欧美在线观看视频在线| 欧美日本高清一区| 亚洲福利视频一区| 亚洲国产精品99久久久久久久久| 亚洲一区国产一区| 先锋影音国产一区| 国产日韩成人精品| 亚洲男女自偷自拍图片另类| 亚洲影院色在线观看免费| 欧美日本一区二区三区| 91久久精品网| 亚洲摸下面视频| 国产精品免费观看视频| 一区二区精品在线观看| 欧美一区二区在线看| 国产欧美日韩一级| 久久男人资源视频| 欧美激情一区二区三级高清视频|