Time of Update: 2018-12-04
由於電腦以離散點產生圖形,產生圖形必然與真實景物存在差距,這種差距表現為:直線或光滑曲面的鋸齒、花紋失去原有色彩形狀、細小物體在畫面的消失等。統統叫做走樣(aliasing)。反走樣可以減少這種情況。粗略設想一下,就是把原來邊界的地方鋸齒部分用低飽和度的點補上,這樣既不影響整體輪廓,又獲得較好的凹凸貼圖。用於減少和消除各種走樣現象的方法就是反走樣。通常反走樣的方法有提高解析度法、非加權地區採樣法、加權地區採樣法等,但是在OpenGL中實現反走樣就簡單的多。反走樣前提供“提示”採用函數:
Time of Update: 2018-12-04
小姑娘四歲多,常有奇思妙想。某日,小姑娘在床上玩,說:“這個床現在成了一個海島,外面都是水。”“那我們要怎麼出去呢?”在不斷的鼓勵下,小姑娘列出了很多方法:1、可以裝一個翅膀飛出去。2、可以坐在蝴蝶身上,抓住它的翅膀,再告訴它我們要去哪裡。3、可以坐在蜻蜓身上。4、可以坐火箭出去。5、可以丟一個炸彈,然後水就幹了,可以走出去。6、可以像青蛙樣的,從水裡遊出去。7、可以丟一把扇子,我們就可以抓住它遊過去。本來期待小姑娘會說造一座橋出去,沒想到聽到了一些更妙的主意,哈哈......
Time of Update: 2018-12-04
百科:反走樣 在點陣圖形顯示器上繪製非水平且非垂直的直線或多邊形邊界時,或多或少會呈現鋸齒狀或台階狀外觀。這是因為直線、多邊形、色彩邊界等是連續的,而光柵則是由離散的點組成,在光柵顯示裝置上表現直線、多邊形等,必須在離散位置採樣。由於採樣不充分重建後造成的資訊失真,就叫走樣(aliasing)。而用於減少或消除這種效果的技術,就稱為反走樣(antialiasing)。 電腦產生映像時通常存在三種走樣現象中的兩種:鋸齒形邊以及圖形細節或紋理繪製失真。第三種現象出現在顯示非常微小對象的場合。 基
Time of Update: 2018-12-04
霧也是大自然中最常見的現象之一,有了霧的效果,情境看起來會更加真實。在OpenGL中,很容易實現霧的效果。在OpenGL中,霧的工作模式有兩種:線性模式和指數模式。這兩種模式是根據霧的濃度變化來區分的。線上性模式下,只需要提供一個距離視點的開始位置和結束位置。從開始位置到結束位置之間,霧的濃度越來越高,濃度的變化和距離成正比。在指數模式下,霧的濃度隨著距離的增加呈指數增長。這種模式通常用來用於煙霧、煙幕等效果。啟用霧化的效果必須使用glEnable(GL_FOG),同樣,取消霧的效果就是glD
Time of Update: 2018-12-04
好,給出一個最簡單的像素shader(pixel shader)的例子,照例,這個程式什麼也沒作,只是把輸入又輸出了一下而已 //定義一個輸出結構struct OUTPUT...{ float4 color :COLOR;}//像素shader入口函數 OUTPUT main(float4 color:COLOR)...{ OUTPUT OUT; OUT.color=color; return OUT;
Time of Update: 2018-12-04
1.顯示列表的優勢 OpenGL顯示列表的設計能最佳化程式運行效能,尤其是網路效能。它被設計成命令快取,而不是動態資料庫緩衝。也就是說,一旦建立了顯示列表,就不能修改它。因為若顯示列表可以被修改,則顯示列表的搜尋、記憶體管理的執行等開銷會降低效能。 採用顯示列表方式繪圖一般要比瞬時方式快,尤其是顯示列表方式可以大量地提高網路效能,即當通過網路發出繪圖命令時,由於顯示列表駐留在伺服器中,因而使網路的負擔減輕到最小。另外,在單使用者的機器上,顯示列表同樣可以提高效率。因為一旦顯示列表被處理成適合
Time of Update: 2018-12-04
小姑娘四歲多,常有驚人之語。某日,奶奶感慨老了,小姑娘說:“不怕,我去給你買唐僧肉吃!”又如某日,和小姑娘玩卡片遊戲,隨意取四張寫有不同詞語的卡片,要求將這些卡片上的詞串聯起來講一個小故事,下面就是小姑娘的故事:1、小豬、伯伯、蘑菇、閃有一個老伯伯,他養了一頭小豬。有一天,他到山上去,突然碰到下雨,打雷閃電,最後他們采了一個蘑菇,把它當成一把傘就回家了。2、胖、七、八、枕頭有一天,有七八個小朋友到我們家玩,他們排成兩排,一排男孩,一排女孩,然後他們就看見了一個胖爸爸和一個胖媽媽,我們玩得很開心,
Time of Update: 2018-12-04
花了兩天時間,總算把Sample下的例子跑成功了,真不容易啊,呵呵,現把遇到的問題解決等做個小小的總結吧,供初學者交流參考,若有說錯的地方,歡迎指正。1、 下載:http://www.cegui.org.uk/wiki/index.php/Downloads最新版本為0.7.1,點進去後會發現有多個download連結,簡單翻譯下:a) CEGUI 0.7.1 Library Source
Time of Update: 2018-12-04
11.1、位元影像 11.1.1 位元影像(Bitmap)與字元(Font) 位元影像是以元素值為0或1的矩陣形式儲存的,通常用於對視窗中相應地區的繪圖屏蔽。比如說,使用中色彩設定為紅色,則在矩陣元素值為1的地方象素用紅色來取代,反之,在為0的地方,對應的象素不受影響。位元影像普遍用於字元顯示,請看下面例子: 例11-1 位元影像字元常式(font.c) #include "glos.h" #include <GL/gl.h> #include
Time of Update: 2018-12-04
哈哈,uClinux-2.6.x終於在VDSP下跑起來了,除了高興還是高興!經過整整兩個星期的挑燈夜戰,總算可以舒舒服服地睡上一覺了,慶祝一下:Linux version 2.6.19.3-ADI-2007R1.1-svn (wmz@gtw.com) (vdsp 4.5) #2 Tue Sep 25 11:24:43 CST 2007Warning: limiting memory to 53MB due to hardware anomaly 05000263Blackfin support
Time of Update: 2018-12-04
OpenGL——紋理過濾函數glTexParameteri() 圖象從紋理圖象空間映射到幀緩衝圖象空間(映射需要重新構造紋理映像,這樣就會造成應用到多邊形上的映像失真),這時就可用glTexParmeteri()函數來確定如何把紋理象素映射成像素. 部分參數功能說明如下: glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); GL_TEXTURE_2D: 操作2D紋理.
Time of Update: 2018-12-04
const * char c_str() 一個將string轉換為 const* char的函數。 string的c_str()返回的指標是由string管理的。它的生命期是string對象的生命期。然後可以按C的方式使用這個指標,或把它的內容複寫出來。 例如: string s; cin>>s; const char *ch=s.c_str(); 這樣就可以從標準輸入裡輸入任意長的字串,並按const
Time of Update: 2018-12-04
經過幾天的連續奮戰,uclinux for bf561核心基本上啟動完成,終於可以休息一下了!看看:Linux version 2.6.19.3-ADI-2007R1.1-svn (wmz@gtw.com) (vdsp 4.5) #2 Tue Sep 25 11:24:43 CST 2007Blackfin support (C) 2004-2007 Analog Devices, Inc.Compiled for ADSP-BF561 Rev 0.3Blackfin Linux
Time of Update: 2018-12-04
發布一個在cygwin下成功構建的bfin-toolchain。 此版本對應的源碼包為:blackfin-toolchain-09r1.1-2.src.tar.bz2,使用cygwin-gcc-3.4進行編譯。使用時需要將elf.h複製到/usr/include目錄下。如果要讓核心支援jffs2檔案系統,需要將mkfs.jffs2.exe複製到uclinux源碼的user/mtd-utils目錄下,再touch一下,使其時間比原始碼更新。具體參見《在cygwin下進行bfin-uclinux開發
Time of Update: 2018-12-04
混合是什麼呢?混合就是把兩種顏色混在一起。具體一點,就是把某一像素位置原來的顏色和將要畫上去的顏色,通過某種方式混在一起,從而實現特殊的效果。假設我們需要繪製這樣一個情境:透過紅色的玻璃去看綠色的物體,那麼可以先繪製綠色的物體,再繪製紅色玻璃。在繪製紅色玻璃的時候,利用“混合”功能,把將要繪製上去的紅色和原來的綠色進行混合,於是得到一種新的顏色,看上去就好像玻璃是半透明的。要使用OpenGL的混合功能,只需要調用:glEnable(GL_BLEND);即可。要關閉OpenGL的混合功能,只需要
Time of Update: 2018-12-04
這兩天在Linux下做了一個ext2的映像檔案,將之插入到uClinux代碼的末尾。原以為檔案系統的問題應該很容易搞定,誰知忙碌了三四個晚上竟然毫無進展:Linux version 2.6.19.3-ADI-2007R1.1-svn (wmz@gtw.com) (vdsp 4.5) #2 Tue Sep 25 11:24:43 CST 2007Warning: limiting memory to 53MB due to hardware anomaly 05000263Blackfin
Time of Update: 2018-12-04
快樂蝦http://blog.csdn.net/lights_joy/lights@hb165.com 本文適用於ADSP-BF561uclinux-2008r1.5-rc3 (smp patch) 歡迎轉載,但請保留作者資訊核心中大量使用container_of這個宏,用以進行資料結構的向上轉換,比如這樣一段代碼:static int platform_match(struct device * dev, struct device_driver * drv){ struct
Time of Update: 2018-12-04
快樂蝦http://blog.csdn.net/lights_joy/lights@hb165.com 本文適用於gcc-4.3.1configure –target=bfin-uclinux-gnuBlackfin系列DSPCygwin gcc 3.4.4 歡迎轉載,但請保留作者資訊 在cygwin gcc 3.4.4環境下構建交叉編譯器bfin-uclinux-gcc時,首先執行的是configure
Time of Update: 2018-12-04
快樂蝦http://blog.csdn.net/lights_joy/lights@hb165.com 本文適用於binutils-2.18configure –target=bfin-uclinux-gnuBlackfin系列DSPCygwin gcc 3.4.4 歡迎轉載,但請保留作者資訊 1.1 size$(EXEEXT)這條規則定義為:size$(EXEEXT): $(size_OBJECTS) $(size_DEPENDENCIES) @rm -f
Time of Update: 2018-12-04
快樂蝦http://blog.csdn.net/lights_joy/lights@hb165.com 本文適用於binutils-2.18configure –target=bfin-uclinux-gnuBlackfin系列DSPCygwin gcc 3.4.4 歡迎轉載,但請保留作者資訊 1.1 strings$(EXEEXT)這條規則定義為:strings$(EXEEXT): $(strings_OBJECTS) $(strings_DEPENDENCIES) @