• <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>
            隨筆-2  評(píng)論-7  文章-2  trackbacks-0
              2009年9月2日
            最近在用CEGUI做UI,不得不承認(rèn)CEGUI確實(shí)很強(qiáng)大,
            控件齊全而且外觀的配置非常靈活,可以隨意的修改控件所使用的圖片以及控件各組成部分的尺寸和位置,
            接口也比較簡明,容易上手,
            作為一個(gè)開源的、完全免費(fèi)的第三方庫,做到這樣優(yōu)秀實(shí)在值得我們感激涕零,
            但我不得不抱怨一下,自己編譯源碼太過麻煩,而且工具太糟糕了!

            之前一直是直接下載編譯好的lib和頭文件來用,
            前幾天為了做中文支持對(duì)CEGUI做了些改造,編譯的時(shí)候提示要pcre的庫和freetype的庫,
            又去sourceforge上找了下下來,解壓后發(fā)現(xiàn)找不找VC8的sln或dsw,只有makefile,
            搜了半天說VC8可以用命令行來通過makefile編譯,折騰了半天又提示缺這個(gè)缺那個(gè),
            又百度了半天終于找到辦法自己建項(xiàng)目和工程了編譯,又是一大堆問題,這個(gè)要設(shè)置那個(gè)要改名,
            還有那一大堆為了各平臺(tái)而寫的一大堆宏,甚至還有一些vc8不接受的奇怪語法,
            一個(gè)指針數(shù)組的聲明由中間使用了一個(gè)宏被VC8認(rèn)成返回?cái)?shù)組的函數(shù)而無法通過編譯等等。
            拜托同事幫忙才終于編譯出了pcre,貌似他是去網(wǎng)上下了個(gè)什么高級(jí)玩意,命令行下配置了老半天才編譯出來的。
            折騰了N久之后終于編譯出了我要的lib……

            用CEGUI恐怕不得不用官方的CEGUILayoutEditor,這是我在網(wǎng)上唯一能找到的CEGUI編輯器,
            雖然相比用記事本寫xml文件來說,這種可視化的編輯工具方便了很多,
            但是用過的人肯定知道它用起來多讓人難受——
            從啟動(dòng)開始就連續(xù)一串錯(cuò)誤提示,控件屬性列表里的屬性比較有限,更讓人吐血的是經(jīng)常改了又自己變回去,
            以至于很多屬性在編輯器里根本改不了,只能保存了打開xml文件改。
            作為一個(gè)UI編輯器,居然沒有任何控件對(duì)齊功能,讓人不得不自己計(jì)算各個(gè)坐標(biāo)了跑到xml文件里去填,
            今天實(shí)在忍受不了了,跑去下了CEGUILayoutEditor的源碼打算改造一番,
            一編譯,又得去下wxWidgets,我真想吼一聲,就不能給我個(gè)下下來就能編譯的東西么?
            又老老實(shí)實(shí)跑去下了wxWidgets,又沒發(fā)現(xiàn)編譯好的lib,只找到VC6的dsw和dsp,這么多文件,從VC6的項(xiàng)目轉(zhuǎn)換到VC8將會(huì)是件極其痛苦的事情……難道要我再去裝個(gè)VC6么。。。我絕望了……

            CEGUIImagesetEditor,一個(gè)簡單的切圖工具,被一個(gè)蹩腳的自動(dòng)邊界識(shí)別功能搞得幾乎沒有辦法正常使用,
            總是會(huì)自聰明的替你調(diào)整切圖尺寸,而且改不回來,
            更要命的是拖動(dòng)一個(gè)切圖窗格時(shí)這個(gè)功能有90%的概率直接導(dǎo)致進(jìn)程在沒有任何提示的情況下忽然結(jié)束,
            做了半天的工作付之東流……
            我也想過去改造它,去掉它這個(gè)讓人惡心的功能,可是下了源碼下來發(fā)現(xiàn)又需要好幾個(gè)第三方庫……

            感謝為開源免費(fèi)的項(xiàng)目做出貢獻(xiàn)的程序員們,
            無償?shù)膸椭覀兇蠓鹊奶岣吡诵剩刮覀儾挥迷僖磺袕念^開始,
            他們是偉大的,無私的,
            但是也帶來了無盡的煩惱……
            posted @ 2009-09-02 18:28 Vertexer 閱讀(539) | 評(píng)論 (4)編輯 收藏
              2009年8月31日

            在嘗試渲染鏡面的時(shí)候遇到一個(gè)問題,將要貼到鏡面上的紋理是渲染出來的,
            已經(jīng)是從攝像機(jī)的角度看到的鏡面內(nèi)容了,再使用常規(guī)的紋理坐標(biāo)貼圖必然會(huì)造成扭曲失真,
            要做的是相對(duì)屏幕坐標(biāo)將紋理貼到鏡面上,
            就仿佛是從攝像機(jī)的角度將紋理投射到物體表面上一樣,這樣做可以使用投影紋理來實(shí)現(xiàn),
            但是看了一下投影紋理坐標(biāo)的計(jì)算過于繁瑣,想了想還是決定從Vertex Shader輸出的坐標(biāo)信息下手。
            折騰了半天之后終于搞定了~

            在VS中將待輸出的坐標(biāo)的xy分量和w分量分別插值傳遞給PS
            在PS中使用xy/w就得到當(dāng)前渲染的像素在以屏幕中心為原點(diǎn),
            y=±1為上下邊沿,x=±1為左右邊沿的左手坐標(biāo)系中的坐標(biāo)。
            當(dāng)然z/w也就是固定管線中寫入到z緩沖中的深度值~

            有了這個(gè)坐標(biāo)之后想要計(jì)算其他的東西就很方便了,
            只需要對(duì)-xy使用加一除以二的操作后就可以得到鏡面上當(dāng)前像素對(duì)應(yīng)的紋理坐標(biāo)了~~
            或者對(duì)xy加一除二,再乘上當(dāng)前窗口的分辨率就可以得到像素坐標(biāo)了~
            不知道d3d光柵化是怎么做的,
            如果不是這樣做的,那這個(gè)辦法就不一定精確了



            posted @ 2009-08-31 17:48 Vertexer 閱讀(1405) | 評(píng)論 (0)編輯 收藏
            僅列出標(biāo)題  
            久久久久久午夜精品| 色综合久久综合中文综合网| 日韩va亚洲va欧美va久久| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 久久天天躁狠狠躁夜夜2020老熟妇| 日日狠狠久久偷偷色综合96蜜桃 | 亚洲国产二区三区久久| 亚洲а∨天堂久久精品9966| 久久久久久久亚洲Av无码| 国产高潮国产高潮久久久91| 久久久久久国产精品无码下载| 91精品国产91久久综合| 久久久久久综合网天天| 国产精品一区二区久久精品无码 | 久久强奷乱码老熟女| 99久久国产热无码精品免费| 精品伊人久久久| 国产亚洲色婷婷久久99精品91| 久久香蕉国产线看观看精品yw| 女同久久| 久久综合精品国产一区二区三区| 国产欧美一区二区久久| 久久久久成人精品无码中文字幕| 少妇无套内谢久久久久| 久久综合日本熟妇| 国产精品无码久久四虎| 国产高潮国产高潮久久久91| 国产精品免费看久久久 | AA级片免费看视频久久| 人人狠狠综合久久亚洲88| 精品久久久噜噜噜久久久| 欧洲精品久久久av无码电影| 久久精品国产亚洲AV香蕉| 中文精品久久久久人妻不卡| 久久99精品久久久久久水蜜桃 | 99久久精品这里只有精品| 国内精品久久国产大陆| 国产成人综合久久精品尤物| 99久久成人18免费网站| 久久无码人妻精品一区二区三区 | 国产精品一区二区久久精品无码 |