我已經使用glsl成功實現了一個cel着色器。但我的問題是概述一切,因特網上的每一個opengl例子都很老舊,與當前的技術不匹配,所以技術太慢等等......所以我無法找到在glsl中做到的。我想到了一些想法,比如將最不密集的區域着色爲黑色,但對於gl_Vertex,gl_Position和眼睛位置還沒有足夠的解釋。所以,由於每種技術都太舊了,我終於決定向某人詢問這個輪廓問題。OpenGL GLSL Cel着色和輪廓算法
7
A
回答
9
我將使用某種類型的邊緣檢測濾波器對zbuffer然後調節與(逆向)結果幀緩衝器(可能與在濾色緩衝邊緣檢測進行組合)。其中最常見的邊緣檢測濾波器是Sobel算子:
http://en.wikipedia.org/wiki/Sobel_operator
編輯:這樣做的另一種廉價的方式是你渲染普通網繪製網格的黑色副本撲殺面臨前倒置,頂點稍微向法線方向移動。這可能是他們在XIII中所做的,我也很確定這是在Jet Set Radio中完成的。
EDIT2:如果您希望輪廓的厚度與觀察者之間的距離保持恆定,則應該用這個距離來縮放移動頂點的量。
1
你看過glPolygonOffset了嗎?
我用它來繪製概述了填充多邊形的頂部。
http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPolygonOffset.xml
+0
然而,你並沒有對你的方法做任何說明,這並不明顯,並且使得答案不是很有用。當你做的時候,我會回覆你的觀點:) –
相關問題
- 1. 輪廓輪廓着色器
- 2. 內部輪廓着色器算法
- 3. OpenGL ES着色器輪廓2D圖像
- 4. GLSL着色算法優化
- 5. 着色非通用輪廓
- 6. OpenGL GLSL着色器統計
- 7. GLSL着色器 - 2D輪廓燈光效果
- 8. 可變寬度線輪廓着色器
- 9. 2D幾何輪廓着色器
- 10. 輪廓vectorshape算法
- 11. Unity3d中的輪廓着色器
- 12. LWJGL opengl glsl着色器與int []屬性
- 13. C++在OpenGL着色器(GLSL)位標誌
- 14. 的OpenGL - GLSL着色器,alpha混合
- 15. shadowmapping opengl glsl着色器圖形數學
- 16. FAUX HDR opengl ES 2.0着色器算法
- 17. OpenGL的每像素着色與GLSL着色器
- 18. GLSL着色器
- 19. 輪廓整合算法C++
- 20. HTML5 - 標題和輪廓算法 - 混淆
- 21. 使用GLSL着色器SDL2
- 22. OpenGL着色器和常量
- 23. 無法鏈接glsl頂點着色器
- 24. OpenGL計算着色器SSBO
- 25. OpenGL着色基本計算
- 26. GLSL着色器檢測
- 27. OpenGL繪製矩形輪廓
- 28. OpenGL中的輪廓效果
- 29. 混合Cg和GLSL着色器
- 30. GIF白色輪廓
我認爲這是一個簡單的輪廓過於昂貴。 – deniz
你瞄準什麼樣的硬件? –
像x1650pro equivelant。 XIII遊戲以某種方式滿足真正舊硬件的要求。 – deniz