Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Mär 29, 2024 07:14

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Android - Fehlermeldung
BeitragVerfasst: Mi Mai 27, 2015 19:18 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Ich bekomme folgender Fehler/Hinweis, wen ich meine Android-App laufen lasse.

Code:
  1. 05-27 20:11:21.493: E/PGA(5680): glVertexAttribPointer: Unsupported index 4294967295, max 16


Code:
  1.     private void VertexToGPU(VectorBuffer vb) {
  2.         GLES20.glVertexAttribPointer(mPositionHandle, 3, GLES20.GL_FLOAT, false, 0, vb.vector);
  3.         GLES20.glVertexAttribPointer(mNormalHandle, 3, GLES20.GL_FLOAT, false, 0, vb.normal);
  4.     }


Die App läuft ansonsten einwandfrei.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android - Fehlermeldung
BeitragVerfasst: Mi Mai 27, 2015 21:40 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2067
Programmiersprache: C++
Wie belegst du mPositionHandle und mNormalHandle?

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android - Fehlermeldung
BeitragVerfasst: Mi Mai 27, 2015 22:11 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Code:
  1. public class MyGLShader {
  2.  
  3.     private int programID;
  4. .......
  5.     public int AttributLocation(String attributName) {
  6.         int id = GLES20.glGetAttribLocation(programID, attributName);
  7.         if (id == -1) {
  8.             Log.e("Attribut Ungültig", attributName);
  9.         }
  10.         GLES20.glEnableVertexAttribArray(id);
  11.         return id;
  12.     }
  13.  
  14. ---------------------
  15.  
  16. public class VLI {
  17.     public VLI() // Constructor
  18.     {
  19.  
  20.         MyGLShader shader = new MyGLShader(Shader.vertexShaderCode, Shader.fragmentShaderCode);
  21.  
  22.         mPositionHandle = shader.AttributLocation("inPos");
  23.         mNormalHandle = shader.AttributLocation("inNormal");
  24.  


Zitat:
Wie belegst du mPositionHandle und mNormalHandle?

Ich denke mal, wen diese beiden falsch währen, dann würde nichts angezeigt werden.
Aber man kann sich ja täuschen. :wink:

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android - Fehlermeldung
BeitragVerfasst: Do Mai 28, 2015 17:14 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2067
Programmiersprache: C++
Also er beschwert sich über eine -1. Geh da mal mit dem Debugger hin und schau dir die Werte an. Und achte auf den typecast von int zu uint.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android - Fehlermeldung
BeitragVerfasst: Do Mai 28, 2015 17:23 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Meine Vermutung ist, dass position und/oder normal im Shader (noch) nicht ausreichend genutzt werden, und der Treiber das wegoptimiert. Daher bekommst du -1 zurück. Dass glVertexAttribPointer dann failt hat keinen Effekt auf das Bild, weil die Werte eh nicht genutzt werden.

viele Grüße,
Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android - Fehlermeldung
BeitragVerfasst: Fr Mai 29, 2015 10:55 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
i0n0s hat geschrieben:
Also er beschwert sich über eine -1. Geh da mal mit dem Debugger hin und schau dir die Werte an. Und achte auf den typecast von int zu uint.


Oder ma besten mit GL_MAX_VERTEX_ATTRIBS pruefen ...

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android - Fehlermeldung
BeitragVerfasst: Fr Mai 29, 2015 17:23 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Wen ich es so prüfen will, kommt keine Ausgabe.
Code:
  1.         Log.e("gfd", GLES20.glGetString(GLES20.GL_MAX_VERTEX_ATTRIBS));
  2.         Log.e("---", "-----------------------------");


Wie könnte ich mehr als 16 VertexAttribs haben, ich habe nur die 2 oben beschriebenen Parameter ?

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android - Fehlermeldung
BeitragVerfasst: Fr Mai 29, 2015 18:50 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Is auch kein String sondern nur normale "glGet"

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android - Fehlermeldung
BeitragVerfasst: Fr Mai 29, 2015 19:19 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Code:
  1.         IntBuffer max = IntBuffer.allocate(1);
  2.         GLES20.glGetIntegerv(GLES20.GL_MAX_VERTEX_ATTRIBS, max);
  3.         Log.d("tag","max Vertex-Attributs: " + max.get()); 


Es wird wie erwartet 16 ausgegeben.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Android - Fehlermeldung
BeitragVerfasst: Fr Mai 29, 2015 20:48 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 587
Programmiersprache: C++
Da du nicht drauf eingegangen bist: Hast du die Vermutung von Horazont geprüft? Ich bin auch schon öfter über so eine -1 (bzw. 4294967295) gestolpert und *jedes* Mal war es entweder ein Vertipper oder das entsprechende Vertexattribut war tatsächlich ohne Wirkung und wurde daher wegoptimiert.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 27 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.061s | 18 Queries | GZIP : On ]