OpenGL Фиксированная реализация функции шейдера - PullRequest
5 голосов
/ 01 сентября 2011

Есть ли оболочка, которая эмулирует API OpenGL ES 1.1 поверх OpenGL ES 2.0? Я искал совсем немного, но не смог найти никакой реальной реализации.

Ответы [ 4 ]

5 голосов
/ 10 сентября 2012

Я сейчас изучаю тот же вопрос, только что наткнулся на этот проект: https://github.com/p3/regal#readme (уровень переносимости OpenGL для OpenGL 2.x, 3.x, 4.x, контексты Core и ES 2.0).Только собираюсь попробовать сам, но после прочтения статьи http://www.gamasutra.com/view/news/177233/Indepth_Bringing_Regal_OpenGL_to_Native_Client.php, я считаю, что эта библиотека может решить проблему.

2 голосов
/ 11 декабря 2014

Взгляните на JOGL.

Есть несколько пакетов об эмуляции фиксированного конвейера из GLES 1.0 с использованием GLES 2.0:

package javax.media.opengl.fixedfunc;
package com.jogamp.opengl.util.glsl.fixedfunc;   
package jogamp.opengl.util.glsl.fixedfunc;

Javadoc из jogamp.opengl.util.glsl.fixedfunc.FixedFuncImpl class;

Composable pipeline, implementing the interface javax.media.opengl.GL2ES1
Each method follows the call graph:
* call prolog jogamp.opengl.util.glsl.fixedfunc.FixedFuncHook if available 
* call downstream javax.media.opengl.GL2ES2 if available and if no call to jogamp.opengl.util.glsl.fixedfunc.FixedFuncHook is made 

* Interface javax.media.opengl.GL2ES1 
* Prolog jogamp.opengl.util.glsl.fixedfunc.FixedFuncHook 
* Downstream javax.media.opengl.GL2ES2 

Sample code which installs this pipeline: 
     GL gl = drawable.setGL( new FixedFuncImpl( drawable.getGL().getGL2ES2(), new FixedFuncHook( drawable.getGL().getGL2ES2() ) ) );

Кроме того, взгляните на «Руководство по программированию OpenGL ES 2.0» (Aaftab Munshi at alli.).Есть несколько примеров шейдеров об эмуляции GLES 1.0 FFP.

2 голосов
/ 26 мая 2012

http://code.google.com/p/gles2-bc/

это делается для того, чтобы эмулировать ES 1.1 с шейдерами ES 2.0, я не использовал его сам, но буду делать это!

2 голосов
/ 20 января 2012

вам может понравиться этот урок: Воссоздание конвейера фиксированных функций OpenGL с использованием Cg . Это в CG, но это довольно похоже на GLSL, с несколькими настройками, можно было бы наверняка превратить его в шейдер, который будет имитировать конвейер фиксированной функции на Android.

Что касается других устаревших функций, таких как glVertex * (), я бы посоветовал против этого (по какой-то причине это устарело). Если, с другой стороны, нужно было портировать какое-то программное обеспечение с ES 1 на ES 2, не составит труда написать обертку даже для этого.

...