tessellation

    1熱度

    1回答

    我使用帶Helix Toolkit的WPF渲染管道。我意識到所提供的功能會生成對於我來說太大的三角形基元。 例如,如果紅色三角形是我原始的,我想控制(說)三角形的中間部分。我可以想到的一種方式是進一步將紅色三角形分成如圖所示的藍色三角形。任何人都可以指向我的方法或算法,允許這種分裂?

    -1熱度

    1回答

    我使用glu tessellation鑲嵌複雜的多邊形。下面列出了簡化的代碼。 它總是在gluTessEndPolygon(GLUtessobj)崩潰,出現錯誤: 錯誤:0000005:訪問衝突讀取位置0x57783b39; 該代碼在多邊形的點數很少時起作用(< 100)。 我只是不明白爲什麼。 typedef boost::geometry::model::point<float, 2, boo

    0熱度

    1回答

    我注意到了我的nvidia 860m上的一些超級stange行爲。我編程一些3D引擎,我正在使用曲面細分進行地形渲染。 我使用簡單的四邊形細分算法。 struct PatchTess { float EdgeTess[4] : SV_TessFactor; float InsideTess[2] : SV_InsideTessFactor; }; PatchTess C

    2熱度

    1回答

    我在一個球體(行星上的邊框)上渲染一些LineLoops,並且希望將它們縮短成較短的行以防止將長線剪切到球體中。 實施例: 這是我的當前源代碼: c + +繪製調用: void Border::Draw() const { glBindVertexArray(_vao); glPatchParameteri(GL_PATCH_VERTICES, 2); glDra

    -1熱度

    1回答

    我想在Mac上鑲嵌着色但它返回的錯誤列表: ERROR: 0:2: Invalid use of layout 'vertices' ERROR: 0:12: Use of undeclared identifier 'gl_InvocationID' ERROR: 0:12: Use of undeclared identifier 'gl_InvocationID' ERROR: 0:1

    2熱度

    1回答

    爲鑲嵌控制着色器 Khronos的wiki指出 輸出貼片尺寸不必匹配輸入貼片尺寸。 這是爲什麼?爲什麼當控制着色器能夠在原生代獲得補丁之前改變輸入補丁大小時,我們必須指定輸入補丁大小? 更新 以下說明是否正確? 輸入補丁(至TCS)大小由glPatchParameter(GL_PATCH_VERTICES, X)設置。這具有這樣的結果,即in屬性陣列的長度爲X. TCS: in vec4 vs_

    3熱度

    2回答

    我給出了無法插孔的凹多邊形的輪廓/邊界,並且我需要對其應用高度貼圖。爲此,我需要執行近似均勻的多邊形鑲嵌,如下所示: 。 如何執行此鑲嵌細分?理想情況下,該解決方案可以參數化內部頂點的「分辨率」以調整細分。 我正在使用OpenSceneGraph,所以如果這是可能的使用它的內置鑲嵌圖書館,這將是理想的,但我打算引入額外的(希望輕量級)依賴如有必要。

    0熱度

    2回答

    我從我的着色器收到上述錯誤。 外殼着色器的代碼片段: struct ConstantOutputType { float edges[4] : SV_TessFactor; float inside[2] : SV_InsideTessFactor; }; ConstantOutputType PatchConstantFunction(InputPatch<Input

    1熱度

    1回答

    我想在Tessenllation Control Shader中執行LOD。我的方法是計算每個補丁在屏幕座標上佔用的面積,併爲它們設置不同的鑲嵌細分級別。 所以我需要一個補丁中訪問所有頂點,我這樣做是這樣的: for(int i = 0; i < 4; i++) { position_screen[i] = ProjectionMatrix * ModelViewMatrix * gl

    0熱度

    1回答

    昨天,我買了一本關於OpenGL 4.5的書,現在正在開發的這個項目不需要任何細分功能就可以通過。所以我想在OpenGL流水線的許多其他階段跳過實現鑲嵌細化着色器。可以跳過或不跳過嗎? 在此先感謝!