我想創建一個庫,我可以用它來處理opengl(C++)中的2D渲染我已經想通了,除了我無法弄清楚如何設置當前顏色透明(例如能夠設置255,0 ,255到透明)我從閱讀主題知道我需要預處理紋理並將該顏色的alpha值設置爲0,但我不知道如何去做。 PS:我使用SOIL來加載紋理,如果有幫助。如何將Opengl紋理中的某些顏色設置爲透明?
2
A
回答
4
我從閱讀主題知道我需要預處理紋理並將顏色的alpha值設置爲0,但我不知道該如何去做。
for(y = 0; y < image.height; y++) for(x = 0; x < image.width; x++) {
if(image.data[x, y].rgb == colorkey) {
image.data[x, y].alpha = 0.0;
} else {
image.data[x, y].alpha = 1.0;
}
}
/* ... */
upload_image_to_texture(image);
2
首先,我可能會建議你使用Alpha透明的質感,而不是色鍵/色度鍵的人,除非他們是一些具體的理由不(即非常低的內存或者你試圖使用的Minecraft的) 。
就是說,使用着色器。在片段着色器中,當片段顏色與您的顏色鍵匹配時,請使用「放棄」關鍵字。有一個official tutorial。
相關問題
- 1. OpenGL設置紋理的透明顏色
- 2. 如何將某種顏色設置爲透明?
- 3. OpenGL - 將幀緩衝區紋理設置爲完全透明
- 4. DDS紋理透明呈現黑色Opengl
- 5. OpenGL,如何將單色紋理設置爲彩色形狀?
- 6. Android Opengl ES透明紋理上的顏色
- 7. 的OpenGL紋理透明度
- 8. opengl設置頂點顏色的紋理顏色
- 9. SDL/OpenGL紋理透明
- 10. OpenGL透明紋理問題
- 11. OpenGL:透明紋理問題
- 12. threejs設置透明顏色
- 13. UIKit。如何設置透明顏色?
- 14. Android的OpenGL ES中的透明紋理
- 15. 如何使用ImageMagick將顏色設置爲GIF透明?
- 16. OpenGL中的顏色不透明度
- 17. libGDX將sprite中的顏色設置爲透明
- 18. 打開GL ES紋理:設置透明顏色||一個顏色的alpha值爲零
- 19. 如何爲RenderTargetBitmap的輸出設置透明度顏色?
- 20. 將不需要的顏色設置爲透明
- 21. 顏色在opengl中映射紋理
- 22. 如何將UIImage中的顏色「白色」更改爲透明
- 23. OpenGL渲染紋理透明度問題
- 24. 我需要做一些透明的OpenGL紋理
- 25. 將RGB白色設置爲透明?
- 26. 不透明的OpenGL紋理有透明邊框
- 27. 設置手勢顏色透明
- 28. UILabel設置透明背景顏色?
- 29. WPF - 如何將DataGrid中的某些行設置爲不同的顏色?
- 30. 將文本設置爲隨機顏色和不透明度javaFX
你在使用着色器嗎? – cmannett85 2012-02-11 21:19:13