• <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>

            Opengl編程低級錯誤 (轉載)

            1.沒有glDisable(GL_TEXTURE_2D),導致基本幾何作圖全部失敗。
            2.鏡頭位置沒調好,導致所有物體不可見.
            3.物體位置數據錯誤,導致物體大大超出鏡頭顯示范圍.
            4.紋理沒有GL_CLAMP導致邊界拼接出現縫線.
            5.紋理沒有GL_REPEAT導致使用超出1.0紋理坐標技巧失敗,顯示單色插值.
            6.沒有glEnable(GL_TEXTURE_2D)導致全白紋理.
            7.glEnable(GL_TEXTURE_2D)后沒有使用紋理頂點導致如glColor效果的純單色.
            8.應該在作圖循環設置燈光位置,因為The position is transformed by the modelview matrix when glLight is called (just as if it were a point), and it is stored in eye coordinates. 
            9.燈光位置應該是4個float,3個float程序不出錯,但結果完全扭曲。
            10.打開燈光卻沒設置頂點法線,到頭一場空。
            11.Window Class 沒有CS_OWNDC,導致glDrawPixels失敗,如在子窗口View上進行象素寫入操作.
            12.沒有設置PIXELFORMATDESCRIPTOR的cAlphaBits,導致glReadPixels讀取alpha通道數據失敗,統統為0.
            13.手動實現的多層紋理閃爍,出現線帶,沒有使用glPolygonOffset.
            14.glDrawPixels格式GL_RGB或GL_BGR_EXT的數據時崩潰,且數據有效,沒有使用glPixelStorei(GL_UNPACK_ALIGNMENT, 1);導致圖像行默認4字節對齊,導致OpenGL數據讀取越界崩潰.相應的要為glReadPixels設置glPixelStorei(GL_PACK_ALIGNMENT, 1);
            15.glReadPixel讀取被覆蓋的OpenGL窗口部分的圖像數據時,讀出數據混亂無效,OpenGL Pixel Ownership檢測導致,標準如此.使用PixelBuffer,或強制置前OpenGL窗口解決.
            16.glReadPixels讀取總是從FrameBuffer的左下往右上讀取,毫無參數可設置改變方向,真是笨到家了. 載入圖像一般還是從上到下比較容易理解.
            17.使用glDepthMask(GL_FALSE)后不打開,glClear無法清除深度緩沖,導致現象:場景起始靜止正常,一旦移動出現不規則的透明無渲染區域,深度緩存邏輯混亂.
            18. gluPerspective(45.0f, (GLfloat)cxPixels/(GLfloat)cyPixels, 0.1f, 2000.0f);這里的0.1f將導致物體和地面的相交處閃爍,原因待查,至少取1.0f.
            19.沒有顯示定義shiniess或shiniess為0,在shader中對gl_FrontMaterial.shininess使用pow計算,結果不可測,黑色條帶閃爍,quite not understand.
            20.紋理出現白色點狀閃爍,沒有Mipmap過濾導致!
            21.任何初裝的Windows系統,多好的機器,一開始對OpenGL只支持1.1,連多重紋理都沒有,需要警惕這種機器,裝著DX9,微軟真惡心,::SwapBuffer直接崩潰,故需要檢測顯卡至少支持了1.2標準,否則要求更新顯卡驅動程序.
            22.3D和2D,透視和正射模式混合時,2D模式的渲染覆蓋不了3D的渲染,原因深度測試失敗,
                  a.2D下渲染時所取點深度確實大于3D點的深度.
                  b.glOrtho參數錯誤,導致2D渲染所得深度值錯誤,如zNear被取負數!
                  c.使用glDisable(GL_DEPTH_TEST);
            23.glDrawElements崩潰,
                  a.glXXXPointer設置的緩沖錯誤,頂點索引越界引用頂點數組.
                  b.當前glBindBufferARB(GL_ARRAY_BUFFER_ARB, buffer);硬件緩沖和內存緩沖混淆.
            24.畫面上出現方塊形背景色,原因,渲染一次后,在glClear時glDepthMask沒有打開,glClear沒能clear掉depth,但clear掉顏色緩沖,depth值持續到下一次render,導致depth test沒通過,顏色畫不上.
            25.樹葉擋在物體前,樹葉間隙或蛀洞本應該透明卻呈現背景色.原因,沒有啟用Alpha過濾.一般不可能用幾何形狀勾勒出葉子的形狀,只用較大的多邊形包圍葉子,用Alpha過濾掉空隙.此時不啟用Alpha過濾,出現Alpha為0的三角面也被渲染,但得到的是背景圖像,并且由于Alpha為0的三角面離視點近,后面的物體渲染無法通過深度測試補上透明的空隙區域.
            26.atlgdi.h里有#pragma comment(lib, "opengl32.lib"),導致無源無故鏈接opengl32.lib失敗.

            posted on 2008-09-27 09:13 RedLight 閱讀(1184) 評論(1)  編輯 收藏 引用 所屬分類: 3D渲染技術

            評論

            # re: Opengl編程低級錯誤 (轉載) 2009-04-21 07:16 wbw

            好東西  回復  更多評論   

            <2008年9月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011

            導航

            統計

            公告


            Name: Galen
            QQ: 88104725

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            相冊

            My Friend

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久一本综合| 99久久精品国产高清一区二区 | 亚洲国产精品无码久久久蜜芽 | 久久精品国产影库免费看 | 欧美激情精品久久久久久久九九九| 老色鬼久久亚洲AV综合| .精品久久久麻豆国产精品| 午夜欧美精品久久久久久久| 久久久久亚洲精品日久生情| 无码八A片人妻少妇久久| 久久久婷婷五月亚洲97号色| 成人a毛片久久免费播放| 久久综合九色综合久99 | 国产激情久久久久影院| 伊人久久大香线焦综合四虎| 久久亚洲国产午夜精品理论片| 日韩久久无码免费毛片软件 | 日韩人妻无码一区二区三区久久99| 久久强奷乱码老熟女| 一本久久精品一区二区| 精品一区二区久久久久久久网站| 99久久精品国产免看国产一区| 2021国产成人精品久久| 久久久久综合国产欧美一区二区| 性欧美大战久久久久久久| 中文字幕无码免费久久| 婷婷久久综合九色综合绿巨人| 亚洲午夜精品久久久久久浪潮| 亚洲午夜久久久久久久久久| 精品综合久久久久久97超人| 久久99精品久久久久久9蜜桃| 久久精品国产亚洲av影院| 99久久国产亚洲高清观看2024| 无码国内精品久久人妻麻豆按摩| 亚洲中文字幕无码一久久区| 人人狠狠综合久久亚洲婷婷| 国产精品美女久久福利网站| 欧美综合天天夜夜久久| 亚洲一级Av无码毛片久久精品| 国产精品99久久精品| 亚洲精品乱码久久久久久不卡|