OpenGL 學(xué)習(xí)筆記

Colors and Materials

  1. material is about
  2. ambient
  3. specular
  4. diffuse
  5. Transparency
  6. caustics

Light

  1. AmbientLight //it is
  2. DiffuseLight //Direction
    角度不同,光強不同
    Phong Shading
  3. Specular Light //The Direction of Light and the Position of the Viewer
    1. Why can see in another angle
    2. Blinn-Phong Reflection
    3. Gouraud Shading
  4. Normal
    1. Vertex Normal
    2. Surface Normal
  5. Shadow
    • ShadowMapping
    • Light Perspective
    • Depth test
    • Depth Buffer
    • shadow factor

Texture

  • glGenTextures(n, &m_shadowMap); //分配n個Texture, 并且設(shè)置其Handle
  • glBindTexture(GL_TEXTURE_2D, m_shadowMap); //GL_TEXTURE_2D應(yīng)該是設(shè)置變量類型
  • glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, WindowWidth, WindowHeight, 0, GL_DEPTH_COMPONENT, GL_FLOAT, NULL);
     - GL_DEPTH_COMPONENT表明只有深度屬性
     - NULL表示?
  • glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);//設(shè)置Texture的屬性
  • glActiveTexture(TextureUnit);//钓株?径密???

數(shù)據(jù)結(jié)構(gòu)

  • GLuint VBO;//定義內(nèi)存
  • glGenBuffers(1, &VBO);//分配內(nèi)存
  • VBO
  • Vector
  • 內(nèi)存
  • 數(shù)據(jù)存儲

Other

  • Space枝哄?
  • local space
  • clip space
  • NDC space
  • texture space
  • depth test
  • WVP matrix

DrawCall

  • ordered draw
  • indexed draw
glDrawArrays(GL_TRIANGLES, 0, 3);
glDrawArray(GL_POINTS, index, count);//GL_POINTS is the type, index is the index to draw, count is how many to draw
glDrawElements(GL_TRIANGLES, 12, GL_UNSIGNED_INT, 0);//draw elements depending on IBO, GL_TRIANGLE is the image type, GL_UNSIGNED_INT is the elements type, 12 = 3*4 means there are 4 triangles, 0 is the index to draw 

Buffer

  • Buffer
Vector3f Vertex[1];//define a vertex array
Vertex[0] = [1, 1, 1]//set the value of 0
glGenBuffer(n, &VBO);//generate n buffers and set the handle to buffer
glBindBuffer(GL_ARRAY_BUFFER, VBO)://GL_ARRAY_BUFFER as the type and VBO is the handle
glBufferData(GL_ARRAY_BUFFER, VBO, sizeof(Vertex), Vertex, GL_STATIC_DRAW);//GL_STATIC_DRAW means we will not change the content
glEnableVertexAttribArray(i);//i是給Shader用的,表示接下來的VertexAttribPointer中的值可以被OPENGL使用街图。
glVertexAttribPointer(index, 3, GL_FLOAT, GL_FALSE, stride, 0);//如何處理數(shù)組中的元素,index表示數(shù)組的開頭懒构,3表示每個數(shù)組中向量的長度餐济,GL_FLOAT表示向量中元素的類型,GL_FALSE表示如何是否normalized,stride表示數(shù)組元素之間的偏移量
  • RenderBuffer

  • FrameBuffer

    • Depth Buffer
    • Color Buffer
    • ways of attachments
    • COLOR_ATTACHMENTi
    • DEPTH_ATTACHMENT
    • DEPTH_STENCIL_ATTACHMENT
    • APIS
    • glBindFramebuffer(GL_FRAMEBUFFER, m_fbo);//綁定以后所有操作都會進行到這個FrameBuffer上
        - 其他參數(shù)有 GL_DRAW_FRAMEBUFFER痴脾,GL_READ_FRAMEBUFFER,
        + glBindFramebuffer(GL_FRAMEBUFFER, 0); //設(shè)置為默認屏幕緩沖區(qū)
  • VertexBuffer

  • Mipmapping

一個Sphere的著色

UV_mapping
Texturing a Sphere
GLSL Programming/GLUT/Textured Spheres
Unfolding the Earth: Myriahedral Projections
Spherical Mapping with Normals

ShadowMapping

DepthTest

Learn CubeMap

描述

  • 有6個texture
  • 每個有mipmap
  • 大多數(shù)情況下颤介,是用來做反射的
  • it is an environment map

資料

Learn HeightField

資料

Cube

問題

  • 如何使用
  • 與普通Texture的區(qū)別

Learn Texture

description

分解

  • genTexture
  • glBindTexture
  • glActiveTexture
  • glTexParameterf
  • glTexImage2D
  • TextureCoordinates
  • Sampler

資料

Questions

  • uv值的起點坐標是

Learn Ray marching

Learn GL variables

  • Built-in Variable
  • uniform
  • 是在一次render過程中不變的
  • attribute
  • 頂點的屬性
  • 只能在Vertex.glsl中
  • varying
  • 在fragment和vertex之間傳輸

WEBGL retina

var devicePixelRatio = window.devicePixelRatio || 1; //     Evaluates to 2 if Retina
renderer.setSize( canvasWidth/devicePixelRatio,     canvasHeight/devicePixelRatio);
renderer.setClearColorHex( 0xffffff, 1.0 );

Learn GL expressions

學(xué)習(xí)資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赞赖,一起剝皮案震驚了整個濱河市滚朵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌前域,老刑警劉巖辕近,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異匿垄,居然都是意外死亡移宅,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進店門椿疗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來漏峰,“玉大人,你說我怎么就攤上這事届榄∏城牵” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵铝条,是天一觀的道長靖苇。 經(jīng)常有香客問我,道長班缰,這世上最難降的妖魔是什么贤壁? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮埠忘,結(jié)果婚禮上脾拆,老公的妹妹穿的比我還像新娘。我一直安慰自己莹妒,他們只是感情好假丧,可當我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著动羽,像睡著了一般包帚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上运吓,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天渴邦,我揣著相機與錄音疯趟,去河邊找鬼。 笑死谋梭,一個胖子當著我的面吹牛信峻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瓮床,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼盹舞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了隘庄?” 一聲冷哼從身側(cè)響起踢步,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎丑掺,沒想到半個月后获印,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡街州,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年兼丰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唆缴。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡鳍征,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出面徽,到底是詐尸還是另有隱情艳丛,我是刑警寧澤,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布斗忌,位于F島的核電站质礼,受9級特大地震影響旺聚,放射性物質(zhì)發(fā)生泄漏织阳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一砰粹、第九天 我趴在偏房一處隱蔽的房頂上張望唧躲。 院中可真熱鬧,春花似錦碱璃、人聲如沸弄痹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肛真。三九已至,卻和暖如春爽航,著一層夾襖步出監(jiān)牢的瞬間蚓让,已是汗流浹背乾忱。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留历极,地道東北人窄瘟。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像趟卸,于是被迫代替她去往敵國和親蹄葱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.初始化gl setEGLContextClientVersion(2);//申明使用版本號 setRender...
    Lock_gc閱讀 738評論 0 0
  • 頭條好申請以后锄列,鑒于我對于原創(chuàng)文章不太了解的情況下图云,自己一直沒有動筆創(chuàng)作。 第一步先做悟空問答吧右蕊,小試牛刀一下琼稻。從...
    昕城閱讀 402評論 4 4
  • 臨時取消今天的版納瑜伽游學(xué)活動,改為飛回老家山西臨汾饶囚,陪老媽帕翻。老媽住院了,因為感冒咳嗽導(dǎo)致胸積水嚴重萝风,胸悶難受嘀掸。我...
    勁汶閱讀 180評論 0 0