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

Aktuelle Zeit: Di Mai 14, 2024 14:31

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



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Sehr simples Heightmap
BeitragVerfasst: Mi Nov 23, 2011 16:09 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Feb 04, 2005 19:27
Beiträge: 14
Ich würde gern einem texturierten GL_QUADS ein Höhenprofil geben. Ich stelle mir dabei eine Art Schogette vor. So weit ich weiß, wird dazu ein Heightmap erstellt wird, also Normalen unterschiedlicher Länge und Richtung. Alle Tutorials sind jedoch komplexer und bauen eine Landschaft aus Triangles auf. Wie sollte ich vorgehen?

_________________
"Software is like sex, it´s better when it´s free!" (Linus Torvalds)
http://scrabble.game-server.cc


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sehr simples Heightmap
BeitragVerfasst: Mi Nov 23, 2011 16:41 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 10, 2011 19:00
Beiträge: 43
Programmiersprache: FreePascal , C++
Bist du dir sicher, dass du das jetzt nicht mit Bumpmapping verwechselst?
Da wird dann aber nur der Anschien einer unebenen Oberfläche erweckt.

Ein Terrain aus vielen Dreiecken zu erzeugen ist glaube ich der Sinn einer Heightmap.

Wenn das wirklich nur so ein gewölbtes Quad sein soll, kämen auch noch bezier kurven in Frage.

Chapter


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sehr simples Heightmap
BeitragVerfasst: Mi Nov 23, 2011 17:10 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Feb 04, 2005 19:27
Beiträge: 14
Chapter hat geschrieben:
Bist du dir sicher, dass du das jetzt nicht mit Bumpmapping verwechselst?

Nein, bin ich mir nicht :roll:. Hast du ein Beispiel für Alternativen auf die Schnelle parat?

_________________
"Software is like sex, it´s better when it´s free!" (Linus Torvalds)
http://scrabble.game-server.cc


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sehr simples Heightmap
BeitragVerfasst: Mi Nov 23, 2011 17:52 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 10, 2011 19:00
Beiträge: 43
Programmiersprache: FreePascal , C++
Ich kann dir nur die Wikiartikel zu den Tutorial_Abseits_eckiger_Welten und Tutorial_BumpMap raten.
Die Artikel fand ich relativ einleuchtend.
Aber Beispiele habe ich jetzt spontan leider keine parat.

Kommt aber auch darauf an was du willst. Soll das Quad irgendwo in einer Szene rumschwirren und nur den Anschein machen gewölbt zu sein oder
soll eine virtuelle Schogetten-schachtel entstehen :wink: ?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sehr simples Heightmap
BeitragVerfasst: Mi Nov 23, 2011 20:19 
Offline
DGL Member

Registriert: Fr Okt 03, 2008 13:32
Beiträge: 367
Das Bumpmapping Tutorial ist allerdings ein bischen veraltet. Für sowas gibt es jetzt Shader und GLslang.
Falls es das ist was du willst, solltest du dir mal die beiden Shadertutorials anschauen. Außerdem gibt es in der Shadersammlung auch schon fertige Beispiele.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sehr simples Heightmap
BeitragVerfasst: Mi Nov 23, 2011 21:22 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Feb 04, 2005 19:27
Beiträge: 14
Besten Dank für eure Hinweise. Ich habe per Nurbs eine 3D-Struktur erzeugt, auf die ich auch meine Textur legen kann. Mal abgesehen davon, dass diese Textur spiegelverkehrt ist, bin ich nicht so recht glücklich mit dem Ergebnis. Es sieht einfach nicht nach einem realen Spielbrett a la Fritz o.ä. aus. Aber das ist eine Design-Frage, und vielleicht hilft es, den Hintergrund zu texturieren oder spiegelnd zu machen.

_________________
"Software is like sex, it´s better when it´s free!" (Linus Torvalds)
http://scrabble.game-server.cc


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sehr simples Heightmap
BeitragVerfasst: Do Nov 24, 2011 10:44 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Feb 04, 2005 19:27
Beiträge: 14
Was meint ihr, sollte ich weiter an der 3D-Darstellung arbeiten? Links ist das Spielfeld als Drawgrid realisiert (bei dem ich zwar innen eine Textur anbringen könnte, aber nicht außerhalb für ein voluminöses Brett), rechts per OpenGL (dem noch einige Features fehlen).

Bild Bild

_________________
"Software is like sex, it´s better when it´s free!" (Linus Torvalds)
http://scrabble.game-server.cc


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sehr simples Heightmap
BeitragVerfasst: So Nov 27, 2011 01:21 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Damit deine Textur korrekt dargestellt wird, müssen die Koordinaten getauscht werden. Schau dazu nochmal das Tutorial an. Kleiner Tipp: Sieht aus als wenn du die Texturkoordinaten genau verkehrt herum verwendest (Uhrzeigersinn).

Die 3D-Struktur deines Brettes ist ja sehr regelmäßig. Du könntest also sogar per Hand (ansonsten mit einem 3D Modellierungstool wie Blender) die Bestandteile der Karte in 3D bauen. Dann musst du noch für Beleuchtung sorgen. Das macht man heutzutage mit Shadern. (Fertige Shader findest du im Wiki)
Wenn du Beleuchtung drinnen hast, wird das ganze schlagartig deutlich besser aussehen. Richtig dolle wirds dann mit Schatten - das ist dann aber ne andere Geschichte.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sehr simples Heightmap
BeitragVerfasst: So Nov 27, 2011 10:42 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Feb 04, 2005 19:27
Beiträge: 14
Danke für die Rückmeldung. An welcher Stelle müssen denn Koordinaten geändert werden? Bei Nurbs habe ich ja keine glTexCoord().

Mittlerweile habe ich ein Holzbrett unter dem Spielfeld angebracht und damit sieht das schon viel netter aus. Licht ist schon an - von rechts oben, allerdings keine Shader. Schatten und Reflexionen muss ich unbedingt noch einbauen. :mrgreen:

_________________
"Software is like sex, it´s better when it´s free!" (Linus Torvalds)
http://scrabble.game-server.cc


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sehr simples Heightmap
BeitragVerfasst: So Nov 27, 2011 13:06 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7804
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Also mit Nurbs hätte ich das definitiv nicht gemacht. Du hast ja keine geschwungene Oberfläche, sondern eine die aus Flachen Teilstücken besteht. Also hätte ich, ganz primitiv im imidiate mode (glBegin/glEnd) die Felder zeichnen lassen.

Also quasi (Pseudocode)
Code:
  1. glBegin
  2. for (x  = 1 to breite) do
  3.   for (y = 1 to laenge) do
  4.     zeichneFeld(x,y);
  5. glEnd
  6.  
  7.  
  8. function zeichneFeld(x,y)
  9.   glVertex2i(x,y);
  10.   glVertex2i(x+1,y);
  11.   glVertex2i(x+1,y+1);
  12.   glVertex2i(x,y+1);

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Sehr simples Heightmap
BeitragVerfasst: So Nov 27, 2011 13:28 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Feb 04, 2005 19:27
Beiträge: 14
Das Spielbrett besteht auch aus einfachen Quads. Spielsteine sollen aber eine Höhe haben, also wie eine Schogette aussehen. Nur für die gibt es ein Nurb.

_________________
"Software is like sex, it´s better when it´s free!" (Linus Torvalds)
http://scrabble.game-server.cc


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 24 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.032s | 19 Queries | GZIP : On ]