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

Aktuelle Zeit: Sa Jul 05, 2025 07:04

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



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Memory 3D
BeitragVerfasst: Mi Okt 06, 2010 16:17 
Offline
DGL Member

Registriert: Mi Jan 02, 2008 21:33
Beiträge: 2
Wohnort: Braunschweig
Hallo!

Ich bin ganz neu im OpenGl Bereich und auch dementsprechend unerfahren, programmiere aber schon länger mit Delphi und konnte mich bisher auch recht schnell in die Materie hineinarbeiten.

Als Einstieg habe ich mir das Memory-Spiel vorgenommen - Karten liegen auf einem Brett und werden aufgedeckt.
Soweit so gut, so siehts aus:
Dateianhang:
screen.jpg

Dateianhang:
screenÖffnen.jpg


Es sieht aber total bescheuert aus - finde ich jedenfalls. Schon das Blau im Hintergrund, die unschönen Texturen der Karten usw...
Gar nicht gefällt mir das "Brett" als Boden für die Karten.
Welche Tipps würdet ihr mir geben, um die Szene optisch deutlich aufzuwerten?
Toll wäre ja ein richtiger Tisch, nur daraus ergeben sich drei Probleme:
Woher bekomme ich den Tisch (bzw. die Texturen)?
Wo steht der Tisch? Im nichts? Ein Zimmer ist zu aufwendig...
Die Anzahl der Karten im Spiel ist frei wählbar - der Platz auf dem Tisch sollte aber immer ausreichen und ganz leer sollte er auch nicht sein.

Viele Dank schon mal im Vorraus für Antworten.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Memory 3D
BeitragVerfasst: Mi Okt 06, 2010 16:32 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
OT: Wie nett, jemand aus dem Delphi-Treff! Mal kräftig Hallöchen ruf! 8)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Memory 3D
BeitragVerfasst: Mi Okt 06, 2010 16:36 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
..achso antworten wollt ich dir ja auch ;)

Also guck mal nach Skyboxen. Texturen findest du bei Google zuhauf. Ansonsten reicht vielleicht auch schon ein Farbverlauf im Hindergrund.. Du könntest dir einen 3DS Importer integrieren gl3ds heißt das ding glaub ich. Dann erstellst du dir einen supischicken Tisch mit C4D oder max und nimmst dann den. So könntest du dir auch schicke Karten, mit 3D-verzierungen basteln.. Ansonsten bisschen Licht fehlt noch... und wenn du dabei bist gleich nochn ne Shadowmap ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Memory 3D
BeitragVerfasst: Mi Okt 06, 2010 16:43 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 20, 2005 13:18
Beiträge: 1054
Wohnort: Dresden
Programmiersprache: C, C++, Pascal, OPL
Einen Tisch kann man z.B. mit Blender oder Wings3D selbst modellieren oder man baut ihn "Ingame" aus 5 Quadern.

Wie man eine Holztextur erstellt wird hier und hier erklärt. Beide Links stammen aus der Linksammlung im Wiki

Als Umgebung könntest du einfach eine Skybox nehmen. Dann "schwebt" dein Tisch oder dein Brett halt in dieser Welt. Gängige Praxis.

Wie du eine Skybox z.B. mit dem unter gewissen Umständen kostenlosen Programm Skybox 1.X erstellst, erfährst du mit Google.

_________________
Denn wer nur schweigt, weil er Konflikte scheut, der macht Sachen, die er hinterher bereut.
Und das ist verkehrt, denn es ist nicht so schwer, jeden Tag zu tun als ob's der letzte wär’.
Und du schaust mich an und fragst ob ich das kann.
Und ich denk, ich werd' mich ändern irgendwann.

_________________Farin Urlaub - Bewegungslos


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Memory 3D
BeitragVerfasst: Do Okt 07, 2010 09:24 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Zuzüglich zu den gegebenen Vorschlägen kann ich dir unbedingt empfehlen eine Beleuchtung einzubauen. Da ich davon ausgehe, dass dein Code auf OpenGL 1.x basiert ist es am einfachsten das (mittlerweile veraltete) OpenGL-Licht (glLight) zu verwenden. Später kannst du noch Schatten einbauen, was allerdings etwas fortgeschrittener ist.

Wenn du eine Shaderfähige Grafikkarte besitzt, könnte es auch eine Option sein die Beleuchtung per Shader zu machen. Entsprechende Beispiele findest du im Wiki. Auch 2 Tutorials gibts dazu.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Memory 3D
BeitragVerfasst: Do Okt 07, 2010 09:37 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Zitat:
Welche Tipps würdet ihr mir geben, um die Szene optisch deutlich aufzuwerten?

Nun statt auf einem Tisch könntest du das auch direkt auf dem Boden machen. Ein schönes Terrain rendern, ggf. mittels Partikelsystem ein bisschen Staub aufwirbeln wenn die Karten umgedreht werden. Das ganze kannst auch an einem Strand machen, dann kannst du noch das Wasser simulieren was dann aber wirklich kompliziert wird.

Zitat:
Woher bekomme ich den Tisch (bzw. die Texturen)?

Für Texturen empfehle ich immer http://www.cgtextures.com/

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Memory 3D
BeitragVerfasst: Mi Okt 20, 2010 08:55 
Offline
DGL Member

Registriert: Mi Jan 02, 2008 21:33
Beiträge: 2
Wohnort: Braunschweig
Danke für die vielen Antworten!

Zitat:
OT: Wie nett, jemand aus dem Delphi-Treff! Mal kräftig Hallöchen ruf! 8)

Ach hier bist du abgeblieben! :D Hallo!

Zitat:
Also guck mal nach Skyboxen.

Ok, habe ich - allerdings muss ich an der Textur noch ein bisschen herumwerkeln: Bei der aktuellen Perspektive sieht man den Horizont nicht...

Zitat:
Du könntest dir einen 3DS Importer integrieren gl3ds heißt das ding glaub ich.

Hmm, irgendwie mag ich diesen Loader nicht (der heißt jetzt auch glModel): Es ist unsauber programmiert.
In die Modelle muss ich mich auch mal hereinarbeiten, so ein Modeller erspart einem doch heftig Arbeit.

Zitat:
Dann erstellst du dir einen supischicken Tisch mit C4D oder max und nimmst dann den.

Also C4D ist mir definitiv zu teuer, wenn, muss der Modeller kostenlos sein.

Zitat:
Ansonsten bisschen Licht fehlt noch...

Licht mit glLight habe ich soweit, bin aber noch nach der Suche auf Pappe-Materialeigenschaften.
Aber da alle Objekte bisher nur Quader sind, ist dieses Licht noch nicht so der Bringer...

Zitat:
Einen Tisch kann man z.B. mit Blender oder Wings3D

Diese Programme werde ich mir mal anschauen, Blender habe ich schon installiert, finde ich in der Bedienung aber ein bisschen "gewöhnungsbedürftig".

Zitat:
Dann "schwebt" dein Tisch oder dein Brett halt in dieser Welt.

Ich glaub, so werde ich es machen.

Zitat:
Nun statt auf einem Tisch könntest du das auch direkt auf dem Boden machen. Ein schönes Terrain rendern, ggf. mittels Partikelsystem ein bisschen Staub aufwirbeln

Das ist zu viel Aufwand, man kann ja auch übertreiben ;)
Im Vordergrund soll weiterhin das Spiel stehen.

Meine Ziele werden also vorerst sein, mir eine noch bessere Skybox generieren zu lassen, einen Tisch zu bauen und richtiges Licht (also nicht glLight) zu verwenden (vielleicht mit Schatten).
Wenn ich damit fertig bin, melde ich mich nochmal mit Screenshots.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Memory 3D
BeitragVerfasst: Mi Okt 20, 2010 10:38 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
henni hat geschrieben:
Zitat:
Einen Tisch kann man z.B. mit Blender oder Wings3D

Diese Programme werde ich mir mal anschauen, Blender habe ich schon installiert, finde ich in der Bedienung aber ein bisschen "gewöhnungsbedürftig".


Blender ist ziemlich mächtig und das erlernen lohnt sich durchaus. Wenn du kein Problem mit Englisch hast, empfehle ich dir mal das Wikibook Blender 3D: Noob to Pro. Hat mir auch extrem geholfen.

greetings

_________________
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: Memory 3D
BeitragVerfasst: Mi Okt 20, 2010 11:06 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
Zitat:
und richtiges Licht (also nicht glLight) zu verwenden
Ja, glLight macht ziemlichen Unsinn. Nicht nur, dass es per Vertex beleuchtet, der Specular - Anteil wird soweit ich weiß falsch berechnet. Wird einfach der Vector (0, 0, 1) benutzt anstelle vom Vector, der zum Vertex (weil ja per Vertex Beleuchtung) zeigt. Gerade bei sehr ebenen Flächen sieht das doof aus.

Zitat:
vielleicht mit Schatten
Wenn dir Reicht, wenn der Schatten nur auf den Tisch fallt (*), dann sollts eigentlich reichen, das, was drüber ist, runterzuprojizieren, und dort etwas dunkler zu machen. zB mit Alphablending. Wenn da iwelche anderen Gegenstände sind, die auch im Schatten liegen können sollen, dann wirds schwieriger... ShadowMapping oder Stencil Schatten

(*): Zusätzliche Vorraussetzung ist, dass der Tisch eben ist ;)


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


Wer ist online?

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