OpenGL Dreieck zeichnen

  • Antworten:2
Daniel W.
  • Forum-Beiträge: 17

10.08.2012, 22:26:30 via Website

Hi!
Ich habe diesen Code nach folgenden (https://www.nextpit.de/de/android/wiki/view/Spieleentwicklung_101) Tutorial geschrieben:

1package com.example.gles4;
2
3import java.nio.ByteBuffer;
4import java.nio.ByteOrder;
5import java.nio.FloatBuffer;
6
7import javax.microedition.khronos.egl.EGLConfig;
8import javax.microedition.khronos.opengles.GL10;
9
10import android.opengl.GLES20;
11import android.opengl.GLSurfaceView;
12
13public class Renderer extends MainActivity implements GLSurfaceView.Renderer
14{
15 FloatBuffer vertices;
16 private int mWidth;
17 private int mHeight;
18
19 @Override
20 public void onDrawFrame(GL10 gl)
21 {
22 GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
23
24 gl.glViewport(0, 0, mWidth, mHeight);
25 gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
26 gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertices);
27 gl.glDrawArrays(GL10.GL_TRIANGLES, 0, 3);
28 }
29
30 @Override
31 public void onSurfaceChanged(GL10 gl, int width, int height)
32 {
33 mWidth = width;
34 mHeight = height;
35 }
36
37 @Override
38 public void onSurfaceCreated(GL10 gl, EGLConfig config)
39 {
40 ByteBuffer buffer = ByteBuffer.allocateDirect(3*3*4);
41 buffer.order(ByteOrder.nativeOrder());
42 vertices = buffer.asFloatBuffer();
43 vertices.put(-0.5f);
44 vertices.put(-0.5f);
45 vertices.put(0);
46 vertices.put(0.5f);
47 vertices.put(-0.5f);
48 vertices.put(0);
49 vertices.put(0);
50 vertices.put(0.5f);
51 vertices.put(0);
52
53 }
54
55}
Aber alles, was auf meinen Handy angezeigt wird, ist ein schwarzer Bildschirm.
Habe ich was vergessen?

Antworten
André
  • Forum-Beiträge: 77

13.08.2012, 10:04:37 via Website

Ich gehe mal davon aus, dass der Code fürs OpenGL setup korrekt ist und du ihn nur nicht gepostet hast.

Versuch mal, dem Dreieck eine (nicht-schwarze) Farbe zuzuweisen.

1gl.glColor4f(r,g,b,a);

— geändert am 13.08.2012, 10:13:14

Antworten
Daniel W.
  • Forum-Beiträge: 17

14.08.2012, 19:52:52 via Website

Hat leider auch nichts gebracht, immer noch schwarz...

Antworten