第039課cg基礎(chǔ)知識(shí)基本使用39unity語法_第1頁
第039課cg基礎(chǔ)知識(shí)基本使用39unity語法_第2頁
第039課cg基礎(chǔ)知識(shí)基本使用39unity語法_第3頁
第039課cg基礎(chǔ)知識(shí)基本使用39unity語法_第4頁
第039課cg基礎(chǔ)知識(shí)基本使用39unity語法_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Cg基本語法主講:

Blake

QQ群:480187119

博毅創(chuàng)為1GPU管道流水線博毅創(chuàng)為21:主要的運(yùn)算在GPU上計(jì)算,CPU插入指令;2:大致流程:

頂點(diǎn)初始化頂點(diǎn)shaderTellellation曲面化幾何著色器幾何shader裁剪,投影三角形遍歷片元著色shader輸出基本類型表達(dá)式博毅創(chuàng)為31:語法和C語言類是,有對(duì)應(yīng)的編譯器,程序是給顯卡運(yùn)行;2:可以從渲染流水線中獲得對(duì)應(yīng)的輸入;3:指定的輸出能流入下一個(gè)流水線模塊;4:操作符號(hào)和C語言一樣,可以使用+,-,*/<,>,<=,>=等運(yùn)算;5:Cg提供了floathalfdouble浮點(diǎn)類型;7:Cg支持定點(diǎn)數(shù)fixed來高效處理某些小數(shù);8:Cg使用int來表示整數(shù);9:bool數(shù)據(jù)類型來表示邏輯類型;10:sampler*,紋理對(duì)象的句柄,sampler/1D/2D/3D/CUBE/RECT11:內(nèi)置向量數(shù)據(jù)類型:float4(float,float,float,float),向量長度不能超過4;12:內(nèi)置矩陣數(shù)據(jù)類型:float1x1float2x3float4x3float4x4;不能超過4x4;13:數(shù)組類型floata[10];10個(gè)float,float4b[10],10個(gè)float4;14:語義綁定float4a:POSITION,返回值也可以語義綁定;結(jié)構(gòu)體與語義博毅創(chuàng)為41:structname{

類型名字;//盡量不要使用;

返回值函數(shù)名稱(參數(shù)){//如果成員函數(shù)里面使用,數(shù)據(jù)成員,該成員定義在函數(shù)前;}};2:輸入語義與輸出語義:

語義:一個(gè)階段處理數(shù)據(jù),然后傳輸給下一個(gè)階段,那么每個(gè)階段之間的接口,例如:頂點(diǎn)處理器的輸入數(shù)據(jù)是處于模型空間的頂點(diǎn)數(shù)據(jù)(位置、法向量),輸出的是投影坐標(biāo)和光照顏色;片段處理器要將光照顏色做為輸入;C/C++用指針,而Cg通過語義綁定的形式;

輸入語義:綁定接收參數(shù),從上一個(gè)流水線獲得參數(shù);

輸出語義:綁定輸出參數(shù)到下一個(gè)流水線模塊;

語義:入口函數(shù)上有意義(頂點(diǎn)著色入口,像素著色入口),普通的函數(shù)無意義;常用語義修飾博毅創(chuàng)為51:POSITION:位置2:TANGENT:切線3:NORMAL:法線4:TEXCOORD0:第一套紋理5:TEXCOORD1:第二套紋理6:TEXCOORD2:第三套紋理7:TEXCOORD3:第四套紋理8:COLOR:顏色標(biāo)準(zhǔn)內(nèi)置函數(shù)博毅創(chuàng)為61:abs(num)絕對(duì)值;2:三角函數(shù);3:cross(a,b)兩個(gè)向量的叉積;4:determinant(M)矩陣的行列式;5:dot(a,b)兩個(gè)向量的點(diǎn)積;6:floor(x)向下取整;7:lerp(a,b,f),在a,b之間線性插值;8:log2(x)基于2為底的x的對(duì)數(shù);9:mul(m,n):矩陣x矩陣,矩陣x向量,向量x矩陣;10:power(x,y)x的y次方;11:radians(x)度轉(zhuǎn)弧度;12:reflect(v,n)v關(guān)于法線n的反射向量;13:round(x)靠近取整;14:tex2D(smapler,x)二維紋理查找15:tex3Dproj(smapler,x)投影三維紋理查找;16:texCUBE

立方體貼圖紋理查找;Unity自帶函數(shù)博毅創(chuàng)為71:引用Unity自帶的函數(shù)庫:#include“UnityCG.cginc”Unity-->Edit-->Data-->CGIncludes;2:TRANSFORM_TEX:根據(jù)頂點(diǎn)的紋理坐標(biāo),計(jì)算出對(duì)應(yīng)的紋理的真正的UV坐標(biāo);3:使用屬性的變量:在shader里面需要使用屬性變量還需要在shader中定義一下這個(gè)變量的類型和名字;名字要保

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論