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

Aktuelle Zeit: Sa Jun 21, 2025 04:24

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



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: GL 1.0 perpixel beleuchtung
BeitragVerfasst: Mo Jul 02, 2012 14:31 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
hallöchen allerseits,
habe vor kurzem damit begonnen meine Engine nach C++ zu übersetzen da sie ja für mehere Platformen erscheinen soll. Um sicherzustellen das sie auch überall
läuft habe ich mich für den Standart von GL ES 1.1 entschieden. Nun grübel ich gerade darüber nach wie man am besten Bumpmapping umsetzen könnte. Ich hab
auch schon eine Idee, allerdings fehlt da noch die Lichtgröße/Radius.

Lichtrichtung (TNB) wird als Vertexfarbe übergeben
Normalmap kommt in Texture0 (REPLACE DOT3)
Diffusemap kommt in Texture1 (CONST = lichtfarbe, MODULATE)
---nun müsste noch der Radius kommen---

hat jemand ne Idee???

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GL 1.0 perpixel beleuchtung
BeitragVerfasst: Mo Jul 02, 2012 17:04 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Kann OpenGL ES 1.1. Register Combiner? Wenn ja, dann könnte man es darüber realisieren. DOT3-Bumpmapping kann man damit auch machen, und über die NV-spezifischen RCs konnte man damals auch PPL in der FF machen. Wenn ES also die ensprechenden RCs unterstützt wär das evtl. eine Option.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GL 1.0 perpixel beleuchtung
BeitragVerfasst: Mo Jul 02, 2012 17:40 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Sascha Willems hat geschrieben:
Kann OpenGL ES 1.1. Register Combiner? Wenn ja, dann könnte man es darüber realisieren. DOT3-Bumpmapping kann man damit auch machen, und über die NV-spezifischen RCs konnte man damals auch PPL in der FF machen. Wenn ES also die ensprechenden RCs unterstützt wär das evtl. eine Option.


Nein und leider auch keine Cubemaps :) man hat allerdings noch GL_DOT3_RGB und GL_DOT3_RGBA für glTexEnv. Ohne den Lichtradius
ist das allerdings nur ne bessere Form von Vertexbeleuchtung. Könnte man eventuell eine Textur mit clamp to edge dafür verwenden????

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: GL 1.0 perpixel beleuchtung
BeitragVerfasst: Di Jul 03, 2012 19:27 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
ok grad ein kleines Testprog geschrieben, fehlt natürlich specular... aba das ja ersma Zweitrangig :)
Code:
  1.  
  2.     glActiveTexture(GL_TEXTURE0);
  3.     glClientActiveTexture(GL_TEXTURE0);
  4.     glEnable(GL_TEXTURE_2D);
  5.     glBindTexture(GL_TEXTURE_2D,(*systemTexturePool)[1].textureID);
  6.     glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
  7.     glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_REPLACE);
  8.     glTexEnvf(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_TEXTURE);
  9.     glEnableClientState (GL_TEXTURE_COORD_ARRAY);
  10.     glTexCoordPointer (2, GL_FLOAT, sizeof(float)*2, tcv);  //TNB lightdirection
  11.  
  12.  
  13.  
  14.     glActiveTexture(GL_TEXTURE1);
  15.     glClientActiveTexture(GL_TEXTURE1);
  16.     glEnable(GL_TEXTURE_2D);
  17.     glBindTexture(GL_TEXTURE_2D,(*systemTexturePool)[2].textureID); //TNB Normal
  18.     glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
  19.     glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_DOT3_RGB);
  20.     glTexEnvf(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_PREVIOUS);
  21.     glTexEnvf(GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR);
  22.     glTexEnvf(GL_TEXTURE_ENV, GL_SRC1_RGB, GL_TEXTURE);
  23.     glTexEnvf(GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR);
  24.     glEnableClientState (GL_TEXTURE_COORD_ARRAY);
  25.     glTexCoordPointer (2, GL_FLOAT, sizeof(float)*2, tc);
  26.    
  27.     glActiveTexture(GL_TEXTURE2);
  28.     glClientActiveTexture(GL_TEXTURE2);
  29.     glEnable(GL_TEXTURE_2D);
  30.     glBindTexture(GL_TEXTURE_2D,(*systemTexturePool)[0].textureID); //Diffusemap
  31.     glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
  32.     glEnableClientState (GL_TEXTURE_COORD_ARRAY);
  33.     glTexCoordPointer (2, GL_FLOAT, sizeof(float)*2, tc);
  34.    
  35.  

_________________
Meine Homepage


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 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.007s | 14 Queries | GZIP : On ]