簡體   English   中英

OpenGL ES 2.0和着色器

[英]OpenGL ES 2.0 and Shaders

兩個問題:

  1. 有沒有一種方法可以在不使用OpenGL ES 2.0中的着色器的情況下渲染到屏幕?

  2. 是否可以使用默認的頂點着色器和片段着色器代替定義自己的着色器?

除了圍繞OpenGL ES 2.0努力工作之外,別無他求。

  1. 不,不是在ES 2.0中。

  2. 不是內置的,但您可以在網上找到一些。 盡管什么使合理的默認着色器在很大程度上取決於您實際想要做什么。 您是否只想渲染彩色圖元? 在2D或3D中? 你需要照明嗎? 哪些參數定義了您的燈光? 你想紋理嗎? 這些相當基本的問題已經定義了您的着色器的外觀。

一方面,問題在於您需要根據每種情況和要實現的渲染樣式使用不同的着色器。 但是另一方面,如果適應特定的用例,這些着色器將不會那么復雜。 一個簡單的3D照明頂點着色器不需要大於5行代碼(僅實際的着色器功能),並且相應的片段着色器也可以對1行代碼進行紋理化。

但是您不會了解着色器的工作原理以及如何與它們交互。 一旦掌握了這些,就可以為通常的用例編寫自己的着色器,這簡直就是小菜一碟。 我建議您研究一些有關OpenGL ES 2.0的優秀教程或書籍。 這應該適當地介紹着色器的基本原理,以及如何實現通常的標准計算,例如頂點變換,光照,使用它們進行紋理化。

不幸的是,OpenGL ES 2.0沒有定義任何默認着色器。

OpenGL ES 1.0僅是固定管道,不允許着色器定義,而OpenGL ES 2.0允許着色器定義,但不包括任何固定管道(即默認着色器)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM