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

Aktuelle Zeit: So Jun 09, 2024 04:04

Foren-Übersicht » Sonstiges » Meinungen zu den Projekten
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 22 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Di Mai 20, 2008 22:19 
Offline
DGL Member

Registriert: Mi Mär 31, 2004 15:24
Beiträge: 114
Ich erzeuge die Wolken aus Perlin Noise und interpoliere sie immer wieder mit einer anderen Wolkenmap - um die Wolken dynamisch wirken zu lassen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 21, 2008 02:02 
Offline
DGL Member

Registriert: Mi Mär 31, 2004 15:24
Beiträge: 114
Hi Leute!
Hier ist ein kleine Update, man kann den Fehlerhandler einfach ausschalten, wenn er denn auftaucht:

http://rapidshare.com/files/116408600/PEngine.zip.html(320 kB)

Und hier die komplette Demo mit einem schneller laufendem Level:
http://rapidshare.com/files/116409165/Techdemo.zip.html(ca. 4 Mb)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 21, 2008 02:52 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Nur um mein Treiberproblem nochmal zu verdeutlichen:
Zitat:
[SHADER] 0,678 s : Info-Log: Link info
---------
Vertex attribute output count exceeds hardware limits.

Passiert nicht, wenn ich die modifizierten Shader im Anhang nutze. Und gibt dann auch kein Fehler mehr.

MfG


Dateianhänge:
Shader.rar [656 Bytes]
267-mal heruntergeladen
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 21, 2008 11:42 
Offline
DGL Member

Registriert: Mi Mär 31, 2004 15:24
Beiträge: 114
Hi!

Ich hab die Shader noch einmal überarbeitet. Ich kenne mich in GLSL nicht so sonderlich gut aus, aber es müssten eigentlich auch folgende Shader ausreichen(und schneller sein):

Vertexshader:
Code:
  1. void main(void)
  2. {
  3.   gl_Position     = gl_ModelViewProjectionMatrix * gl_Vertex;
  4.   gl_TexCoord[0]  = gl_MultiTexCoord0;
  5.   gl_TexCoord[1]  = gl_TextureMatrix[1] * gl_MultiTexCoord1;
  6.   gl_FrontColor   = gl_Color;
  7. }


Hier im Vertexshader kann schon die die Texturkoord. für die Bumpmap errechnet werden.

Fragmentshader:
Code:
  1. uniform float strength;
  2. uniform sampler2D refractTex;
  3. uniform sampler2D bumpMap;
  4.  
  5. void main(void)
  6. {
  7.   vec4 refractcoord;
  8.   vec4 offsetColor = (texture2D(bumpMap, vec2(gl_TexCoord[1])) +
  9.     texture2D(bumpMap, vec2(gl_TexCoord[1]) * 4.0)) / 2.0;
  10.   vec4 origOffset = offsetColor;
  11.   vec4 refractColor = vec4(1.0, 1.0, 1.0, 1.0);
  12.   vec4 blendedColor;
  13.  
  14.   offsetColor -= 0.5;
  15.   offsetColor *= 2.0;
  16.  
  17.   refractcoord = gl_TexCoord[0];
  18.   refractcoord.x += strength * offsetColor[0];
  19.   refractcoord.z += strength * offsetColor[1];
  20.   refractcoord = gl_TextureMatrix[0] * refractcoord;
  21.   refractColor = texture2DProj(refractTex, refractcoord);
  22.  
  23.  
  24.   refractColor[3] = 1.0;
  25.  
  26.   blendedColor = refractColor * gl_Color;
  27.   blendedColor.a = 1.0;
  28.  
  29.   gl_FragColor = blendedColor;
  30. }


Hier kann "refractcoord = gl_TextureMatrix[0] * refractcoord;" direkt angewendet werden. Dazu brauch man doch keine varying-Variable oder?

Viele Grüße,
Rüdiger



Hier noch die Shader als Anhang:


Dateianhänge:
Shader.zip [795 Bytes]
268-mal heruntergeladen
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jun 07, 2008 10:58 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Der Ansatz für die Bäume ist schonmal gut, aber ich habe hier noch einen Verbesserungsvorschlag. Anstatt einzelne Blätter als Texturen zu nehmen, solltest du eher einen ganzen kleinen Ast verwenden. Denn das Problem ist, dass alle Texturen bei dir gleich aussehen. Wenn du einen ganzen kleinen Ast nimmst, hast du verschiedene Blätter und du bringst mehr Abwechslung rein. Dass der Ast insgesamt dann sehr gleich aussieht, fällt da weniger auf. Leider habe ich gerade auf meiner Festplatte kein Beispiel finden können, sonst hätte ich einen Screenshot angehängt.
Eventuell solltest du dann aber von Sphärischen Billboards auf Zylindrische umsteigen, das könnte besser aussehen.

Alternativ kannst du natürlich auch einfach verschiedene Texturen für die Blätter nehmen. Dennoch solltest du dann noch kleinere Äste dazumachen, die ja auch auf Texturen basieren können (nur da halt dann keine Billboards).

Gruß Lord 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:
BeitragVerfasst: Mo Jun 09, 2008 10:59 
Offline
DGL Member

Registriert: Mi Mär 31, 2004 15:24
Beiträge: 114
Danke für die Tipps! Kleine, durch Texturen dargestellte Äste wollte ich auch noch implementieren. Größtes Problem ist für mich die Texturen zu erstellen... und nicht nur für die Äste, sondern auch für das Blattwerk ;)

Viele Grüße!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 09, 2008 13:39 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Also ich habe jetzt doch noch ein Modell gefunden und die Texturen sind sehr einfach gestrickt: Man nehme sich einen Zweig (in diesem Falle wars glaube ich Haselnuss), lege ihn flach auf einen Untergrund (wohl am besten etwas kontrastreiches, was man später in einem Bildbearbeitungsprogramm zu nem Alphakanal machen kann) und fotografiere es ab. Der Rest ist Texturmapping.

Ich habe mir das Modell gerade noch mal genauer angeschaut. Natürlich haben die da kein Billboarding, aber es sieht auch so erstaunlich gut aus. Tricks sind halt auch, nicht nur Quads zu nehmen sondern das auch ein wenig zu biegen (dafür gibts ja algorithmen, hat ja auch mit deinen Ästen schon gut geklappt). Dann sieht das nicht ganz so flach aus.

Gruß Lord 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  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 22 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Foren-Übersicht » Sonstiges » Meinungen zu den Projekten


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 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.040s | 16 Queries | GZIP : On ]