It was the ColorArrays!! When I take out gl.glEnableClientState
(GL10.GL_COLOR_ARRAY); it works, add it back in and it doesn't!
On Dec 5, 9:34 pm, CaseyB <[EMAIL PROTECTED]> wrote:
> I've gone through my code and the Kube code and they look the same!
> The only thing that I can see that's different is that I use GL_FLOAT
> when I define my verts and normals and the Kube program used
> GL_FIXED. Could it be that the G1 doesn't support floating point
> coordinates?
>
> On Dec 3, 10:57 pm, CaseyB <[EMAIL PROTECTED]> wrote:
>
> > I'm using the GLSurfaceView from the examples and here's all of my
> > initialization code:
>
> > /***********[Activity]***********/
> > public class OpenGLES extends Activity
> > {
> > GLSurfaceView mView;
>
> > /** Called when the activity is first created. */
> > @Override
> > public void onCreate(Bundle savedInstanceState)
> > {
> > super.onCreate(savedInstanceState);
> > requestWindowFeature(Window.FEATURE_NO_TITLE);
>
> > mView = new GLSurfaceView(getApplication());
> > mView.setRenderer(new TutorialRenderer(getApplication()));
> > setContentView(mView);
> > }
>
> > }
>
> > /***********[Renderer]***********/
> > public class TutorialRenderer implements GLSurfaceView.Renderer
> > {
> > private Context mContext;
> > private boolean mCreateWorld = true;
> > private Cube mCube;
> > private Ship mShip;
> > private float mAngle = 0;
> > private int mChange = 1;
>
> > public TutorialRenderer(Context context)
> > {
> > mContext = context;
> > }
>
> > @Override
> > public void drawFrame(GL10 gl)
> > {
> > gl.glClear(GL10.GL_COLOR_BUFFER_BIT |
> > GL10.GL_DEPTH_BUFFER_BIT);
> > gl.glLoadIdentity();
>
> > GLU.gluLookAt(gl, 0.0f, 2.0f, 2.0f, 0.0f, 0.5f, 0.0f, 0.0f,
> > 1.0f,
> > 0.0f);
>
> > gl.glRotatef(mAngle, 0.0f, 1.0f, 0.0f);
>
> > gl.glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
> > mCube.draw(gl);
>
> > gl.glColor4f(0.0f, 1.0f, 0.0f, 1.0f);
> > gl.glTranslatef(-0.25f, 0.25f, -0.75f);
> > mShip.draw(gl);
>
> > gl.glColor4f(0.0f, 0.0f, 1.0f, 1.0f);
> > gl.glTranslatef(0.5f, -0.25f, 1.5f);
> > mCube.draw(gl);
>
> > gl.glFlush();
>
> > mAngle += mChange;
> > if(mAngle > 360) mAngle = 0;
> > }
>
> > @Override
> > public int[] getConfigSpec()
> > {
> > // Need a depth buffer, don't care about color depth.
> > int[] configSpec = {
> > EGL10.EGL_DEPTH_SIZE,
> > 16,
> > EGL10.EGL_NONE};
> > return configSpec;
> > }
>
> > @Override
> > public void sizeChanged(GL10 gl, int width, int height)
> > {
> > gl.glMatrixMode(GL10.GL_PROJECTION);
> > gl.glLoadIdentity();
>
> > if(height == 0) height = 1;
> > gl.glViewport(0, 0, width, height);
> > GLU.gluPerspective(gl, 45.0f, 1.0f * width / height, 1.0f,
> > 100.0f);
>
> > gl.glMatrixMode(GL10.GL_MODELVIEW);
> > gl.glLoadIdentity();
> > }
>
> > @Override
> > public void surfaceCreated(GL10 gl)
> > {
> > gl.glEnable(GL10.GL_COLOR_MATERIAL);
>
> > gl.glEnable(GL10.GL_LIGHTING);
> > gl.glEnable(GL10.GL_LIGHT0);
>
> > gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_AMBIENT, new float[]{
> > 0.3f,
> > 0.3f, 0.3f, 1.0f }, 0);
> > gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_DIFFUSE, new float[]{
> > 1.0f,
> > 1.0f, 1.0f, 1.0f }, 0);
> > gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_POSITION, new float[]{
> > 1.0f,
> > 1.0f, 1.0f, 0.0f }, 0);
>
> > gl.glEnable(GL10.GL_DEPTH_TEST);
> > gl.glDepthFunc(GL10.GL_LEQUAL);
>
> > gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
> > gl.glClearDepthf(1.0f);
>
> > if(mCreateWorld)
> > {
> > createWorld(gl);
> > mCreateWorld = false;
> > }
>
> > gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
> > gl.glEnableClientState(GL10.GL_COLOR_ARRAY);
> > gl.glEnableClientState(GL10.GL_NORMAL_ARRAY);
>
> > gl.glEnable(GL10.GL_CULL_FACE);
> > gl.glShadeModel(GL10.GL_SMOOTH);
> > }
>
> > private void createWorld(GL10 gl)
> > {
> > mCube = new Cube();
> > mShip = new Ship(mContext);
> > }
>
> > }
>
> > On Dec 3, 5:01 pm, "David Turner" <[EMAIL PROTECTED]> wrote:
>
> > > the emulator only runs the Android software OpenGL renderer; while the G1
> > > comes both with
> > > the software renderer and a hardware-accelerated one that talks to the
> > > graphics chip. Which one
> > > your application will end up using depends on which GL configuration
> > > you're
> > > asking for (I believe
> > > that you'll get the hardware one most of the time on the G1, except if you
> > > ask precisely for certain
> > > configurations).
>
> > > If I remember correctly, the software renderer supports features that the
> > > hardware one doesn't,
> > > and vice-versa (e.g. at the moment, only the hardware renderer supports
> > > PBuffers). So to be able
> > > to answer your question, we really need to see some of the code you're
> > > using
> > > to setup your GL
> > > and what you're trying to do.
>
> > > On Wed, Dec 3, 2008 at 1:24 PM, CaseyB <[EMAIL PROTECTED]> wrote:
>
> > > > I just got my G1 yesterday and it's an AMAZING device!! I am having a
> > > > bit of trouble with it though. I have written a little OpenGL test
> > > > app that runs fine in the emulator, but just shows a black screen on
> > > > the G1. I can choose to run on the emulator or the G1 from eclipse
> > > > and just by switching the output I can show that the code works on the
> > > > Emulator and not the G1. Is there anything else (i.e. permissions,
> > > > etc,) that I need to have it run on the G1?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---