bump-mapping

    0熱度

    1回答

    目前我嘗試爲我的OpenGL項目實現凹凸貼圖。 問題是我的立方體的相同部分是黑色的。如圖所示: 我幾乎可以肯定,我只是不明白着色器是如何工作的,所以我使用了來自OpenGL Superbible的着色器。 這裏是我的代碼: 的Vertex Shader #version 330 layout(location = 0) in vec4 position; layout(location =

    1熱度

    1回答

    我正在使用黑白圖像作爲模型的凹凸貼圖。該模型是一個.obj文件,其中包含關聯的.mtl文件,用於UV映射。這是我使用的代碼: // Load material file var mtlLoader = new THREE.MTLLoader(); mtlLoader.setPath('/models/'); mtlLoader.load('model.

    0熱度

    2回答

    我可以通過對周圍像素進行採樣來將我現有的高度圖轉換爲法線貼圖,就像在這個問題Generating a normal map from a height map?中一樣,只是我在CPU上做了這個。 我有一個球體,我想正常地圖在對象空間。如何將上面的法線貼圖應用於球體頂點上的法線?

    0熱度

    1回答

    我有一個平坦的表面模型,我正在應用凹凸貼圖紋理繪製並在其上放置一些文本。我正在使用的代碼是這樣的: loadedMesh.material.bumpMap = new THREE.Texture(canvas); loadedMesh.material.bumpScale = 1; loadedMesh.material.bumpMap.wrapS = loadedMesh.material.

    0熱度

    1回答

    我有以下代碼來計算切線,bitangents。我可以使用普通映射成功渲染一些網格示例。 我有一個特定的網格問題,它計算與正常的切線共陰點。 任何幫助將不勝感激,以確定原因。 的例子是這樣的一個: V0:(-9.860292,6.589309,-8.947665) V1:(-9.860292,0.000000,-8.947665) V2(-8.068345,0.000000,-8.947665) U

    2熱度

    1回答

    首先,我必須道歉在這個問題上發佈另一個問題(已經有很多了!)。我確實在尋找其他相關的問題和答案,但不幸的是他們中沒有人向我展示解決方案。現在我絕望了! :D 值得一提的是,下面的代碼給出了令人滿意的'顛簸'效果。這似乎是錯誤的場景啓發。 現場:死了簡單!中心的立方體,圍繞它旋轉的光源(與地面平行)及以上。 我的做法是從我的基本光着色器開始,它給了我足夠的輸出(或者我認爲!)。第一步是修改它在切線空

    0熱度

    1回答

    大學任務需要我使用頂點座標我必須從正常值計算法線和切線,以便我可以創建一個物體空間到紋理空間矩陣。 我有製作矩陣所需的代碼,和binormal,但我沒有用於計算正切值的代碼。我試圖在網上看,但答案通常讓我感到困惑。你能清楚地向我解釋它是如何工作的嗎? 編輯:我糾正了我以前寫的很清楚我誤解了這項任務。謝謝大家幫助我看到這一點。

    1熱度

    1回答

    如何移動法線貼圖而無需移動攝像頭並且沒有在Three.js中移動光源? 我有一個垂直於相機視圖矢量的平面。 這架飛機總是在視圖的中心。 當我移動相機時,飛機隨着相機和光源的移動而移動。 光源位於相機後面並指向飛機。 此照明源以及飛機與相機同步移動。 要觀察飛機地圖上的變化,我可以移動相機或移動光源。在我的情況下,他們同時移動,並沒有相對移動。 我需要類似於另一個虛擬相機機芯,它會在平面上的法線貼圖

    0熱度

    1回答

    在當前的ColladaLoader.js中,我沒有看到任何讀取或應用Collada標準的「加權」值(0.0-1.0)的內容,該值指示Three.js Phong材質中凹凸強度或「bumpScale」 。我注意到,當我從Blender中導出collada時,它立即以three.js(這非常簡單--YAY!)拾取凹凸材質,但是我的材質總是會得到誇張的默認1.0版的bumpScale。它給材料誇張的顛簸

    0熱度

    1回答

    所以我一直在嘗試實施凹凸貼圖一段時間,並且我以某種方式工作。所以它使紋理和陰影正確,但不會隨着光源四處移動而改變,我確定它應用光源從源(0,0)移動而不是在光源處於世界的位置。我如何確定着色器中片段的世界位置?我現在有點卡住,任何幫助將不勝感激。 --vertex着色器 void main() { gl_TexCoord[0] = gl_MultiTexCoord0; //