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

Aktuelle Zeit: Mi Mai 15, 2024 13:16

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mo Okt 29, 2012 22:48 
Offline
DGL Member

Registriert: Di Aug 21, 2012 19:31
Beiträge: 173
Programmiersprache: C#
Hey ho.

Ich habe soeben mein ColorPicking fertiggestellt. Nun wollte ich die der Einfachheit geschuldete Variante, in der nur der Rotanteil zur Identifizierung dient in die Tonne kloppen und alle 3 Farbanteile auslesen.
Der Aufruf von:
Code:
  1. Gl.glReadPixels(mouseX, mouseY, 1, 1, Gl.GL_RGB, Gl.GL_UNSIGNED_BYTE, pickedColorArray);
gibt mir jedoch nur den Rotanteil zurück:
aslo z.B:
pickedColorArray[0] ist 16
pickedColorArray[1] ist 0
pickedColorArray[2] ist 0

Ich lasse mir beim Speichern der DisplayList die an glColor3ub(...) übergebenen Farbwerte ausgeben.
Diese stimmen sind also != 0.
Ich habe 266 Objekte erstellt, so dass ich garantiert in den Blau-Bereich komme.

Die Werte im Array wollen sich aber einfach nicht ändern ;) (abgesehen von den Rotwerten)

Was mache ich falsch?

_________________
ack nack nack nack nack


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Okt 30, 2012 01:21 
Offline
DGL Member

Registriert: Di Aug 21, 2012 19:31
Beiträge: 173
Programmiersprache: C#
Was für ein dummer Fehler...
Hat sich erledigt -.-

Sorry, Grüße!

_________________
ack nack nack nack nack


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Okt 30, 2012 16:22 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 29, 2003 00:11
Beiträge: 436
Für die Nachwelt: Was war denn der Fehler? :)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Okt 30, 2012 23:04 
Offline
DGL Member

Registriert: Di Aug 21, 2012 19:31
Beiträge: 173
Programmiersprache: C#
Hatte an sich nichts mit OpenGL zu tun:
Code:
  1. public override string ToString() {
  2.             return "[Color3ub] R: " + r + " g: " + g + " b: " + b;
  3.         }

korrekte toString Methode

Code:
  1. public byte getR() {
  2.             return this.r;
  3.         }
  4.  
  5.         public byte getG() {
  6.             return this.b;
  7.         }
  8.  
  9.         public byte getB() {
  10.             return this.b;
  11.         }

nicht korrekte getter (getG() gibt b zurück)

durch die korrekte toString fiel mir einfach nicht auf, dass ich tatsächlich eine null für grün übergeben habe.
Die toString hat mir ja die richtigen werte geliefert ;)

_________________
ack nack nack nack nack


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Okt 31, 2012 16:23 
Offline
DGL Member
Benutzeravatar

Registriert: So Sep 26, 2010 12:54
Beiträge: 238
Wohnort: wieder in Berlin
Programmiersprache: Englisch
em, wieso eigentlich extra getter methoden um die farbwerte zurückzuliefern?

da böten sich public fields oder autoproperties an....


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Nov 01, 2012 16:51 
Offline
DGL Member

Registriert: Di Aug 21, 2012 19:31
Beiträge: 173
Programmiersprache: C#
jo, nicht drüber wundern...
Normalerweise mach ich das mit auto-properties.
Ich hab einem Studienanfänger zeigen dürfen was getter/setter sind und da ich eh gerade dabei war hab ich das hier gemacht...

Hoffe der hat meinen Fehler nicht gesehen :D

_________________
ack nack nack nack nack


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.018s | 19 Queries | GZIP : On ]