#1 21.06.2007 14:28:21

KleinerHacker
UltraMember
Registriert: 31.01.2006
Beiträge: 286

Buy the Car

Hi,
ich möchte nur mal ein paar Bilder von meinem neuesten Projekt "Buy the Car" (Simulation) posten: Wie sieht das bis jetzt aus?

http://kleinerhacker.delphigl.com/infoscreen/btc001.jpg

HINWEIS: Bild wurde geupdatet!

Offline

 

#2 21.06.2007 14:55:19

Lotipats
UltraMember
Registriert: 17.05.2005
Beiträge: 395

Re: Buy the Car

Gehört das nicht unter "Projekte"?

Und ansonsten finde ich das etwas pixelig.

LOTIPATS

Offline

 

#3 21.06.2007 15:57:24

JorEl
ExtremeMember
Registriert: 29.01.2005
Beiträge: 894

Re: Buy the Car

Zitat:

Gehört das nicht unter "Projekte"?

Doch, habs auch gleich verschoben.

JorEl


Jesus hat gesagt - selig sind die, die da Leid erfahren, denn sie sollen getröstet werden... Ford Prefect hat gesagt - es ist unheimlich wichtig, dass wir miteinander reden und einen trinken.

Offline

 

#4 21.06.2007 15:59:25

JorEl
ExtremeMember
Registriert: 29.01.2005
Beiträge: 894

Re: Buy the Car

Zitat:

Und ansonsten finde ich das etwas pixelig.

Nur "etwas" pixelig?  big_smile  Ich finde das ganze furchtbar pixelig - mipmapping sollte Wunder wirken, sieht nach extremen oversampling aus. Ein wenig irritierend ist allerdings, dass es auch weiter hinten nicht besser wird. Wenn man sich allerdings die Schatten der Kakteen ansieht könnte es auch am fehlenden bias fürs shadow mapping liegen... aber ist reine Spekulation, die Auflösung ist nicht hoch genug um wirklich was konkretes dazu zu sagen.


Jesus hat gesagt - selig sind die, die da Leid erfahren, denn sie sollen getröstet werden... Ford Prefect hat gesagt - es ist unheimlich wichtig, dass wir miteinander reden und einen trinken.

Offline

 

#5 21.06.2007 16:52:29

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Buy the Car

Ich möchte hier nochmal einige Moderatoren an
http://www.delphidev.de/phpBB2/viewtopic.php?t=871
erinnern... wink

@KleinerHacker: Was sind den da neben dem Schatten noch für Features versteckt?


My software never has bugs. It just develops random features.

Offline

 

#6 21.06.2007 17:06:08

artzuk
GodlikeMember
Ort: Leipzig
Registriert: 24.01.2005
Beiträge: 1164

Re: Buy the Car

@Coolcat: Was meinst du damit?

@Screenshot: Finde ist ne schöne Scene, aber wie JorEL schon eindeutig angesprochen hat, fehlt MipMapping! Zudem könntest du die Kachelung der Bodentextur fast "verschwinden" lassen, indem du 2 Texturen für den Boden nimmst und anhand einer Alphamap interpolierst. Wirkt echt Wunder wink

So, jetzt erzähl doch mal bitte etwas mehr über dein Projekt (ich glaub jetzt weis ich endlich, was Coolcat will) ... es fehlt noch die Projektbeschreibung! Bitte ergänze das nochmal - ist ja schließlich auch absolut nicht uninteressant smile

Na dann ... weiter so


Mein kleiner .NET Blog: http://artzuk-interactive.de/

Offline

 

#7 21.06.2007 17:33:57

KleinerHacker
UltraMember
Registriert: 31.01.2006
Beiträge: 286

Re: Buy the Car

@artzuk: Danke für die Tipps! Ich werde mal versuchen, diese in die Tat umzusetzen, denn das pixelige hat mich auch schon gestört. Werde dann natürlich ein neues Bild posten ;-)

Nochmals vielen Dank!




Projektinformationen:

Man hat ein Wirtschaftsunternehmen. Dieses Unternehmen besitzt die Möglichkeit, alles rund ums Auto zu betreiben: Ein Werk zur Herstellung von Fahrzeugen (PKW,LKW,Bus,...), ein Autohändler, der die hergestellten Fahrzeuge verkauft, eine Tankstelle, Ein Autoverleihservice, eine Autoreinigung und ein Gebrauchtwagenhändler. Zudem kommen drei verschiedene Firmennamen, unter denen man dann wirtschaftet (Fiktiv!).



So, jetzt ist es besser!
Jetzt fehlt nur noch Antialaising...

Mal ne Frage: Ich weiß, wie man mit dem Pixelshader arbeitet, aber: Kann man auch auf das gesamte fertig gerenderte Bild zugreifen oder kann ich immer nur auf eine Objekttextur zugreifen? Man kann ja auch Antialaising über den Pixelshader programmieren, aber dann müsste man ja auf das gesamte Bild zugreifen...  :?

Offline

 

#8 21.06.2007 20:17:23

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Buy the Car

Rendere das Bild in eine Textur und rendere diese wieder auf ein Quad (zwei Dreiecke)


My software never has bugs. It just develops random features.

Offline

 

#9 22.06.2007 16:14:31

Dreamworld
UltraMember
Ort: Karlsruhe
Registriert: 06.12.2005
Beiträge: 368

Re: Buy the Car

Mir fehlen diese coolen Ballen, die in den Filmen immer vorbeihoppeln.
Is das ne Skybox? Wenn ja gefällt sie mir nicht besonders...da geht noch einiges.
Und ein wenig Dunst täte gut, frag mich aber nicht wie man das realisieren kann. (Weiß das jemand, fänd ich auch interessant. Also Quasi Nebel nur für den Boden) Einfach wäre natürlich ne Textur auf den Boden zu legen und die TexCoords zu ändern, dann is das aber 2D.

Ach ja und ich erblasse vor Neid vor den Schatten, aber bald hab ich wieder ein wenig Zeit, dann wird zurückgeschlagen wink

Offline

 

#10 22.06.2007 20:43:23

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Buy the Car

Zitat:

Und ein wenig Dunst täte gut, frag mich aber nicht wie man das realisieren kann.

recht einfach im Pixelshader:
Einfach für jeden Pixel den Abstand zum Boden berechnen und das durch ne Fog-Formel jagen. Zusätzlich kann man auch noch die Entfernung zum Betrachter mit einberechnen. Wenn man keine ebene Karte, sondern eine mit ein paar Kratern hat sammelt sich dann der Nebel schön darin. smile

Coolcat


My software never has bugs. It just develops random features.

Offline

 

#11 22.06.2007 20:57:30

Chris
ExtremeMember
Ort: Erlangen, Bay
Registriert: 24.01.2005
Beiträge: 694
Web-Seite

Re: Buy the Car

das schild von dem Laden hat keinen Schatten...

mfg Chris


Nimm meinen Rat an - ich brauch ihn sowieso nicht

Offline

 

#12 25.06.2007 10:23:16

KleinerHacker
UltraMember
Registriert: 31.01.2006
Beiträge: 286

Re: Buy the Car

Zitat:

Rendere das Bild in eine Textur und rendere diese wieder auf ein Quad (zwei Dreiecke)

Problem: Die Bildqualität nimmt erfahrungsgemäß ab...

Offline

 

#13 25.06.2007 10:25:51

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Buy the Car

Zitat:

Problem: Die Bildqualität nimmt erfahrungsgemäß ab...

Hä? Eigentlich nicht. Du musst nur aufpassen das du das Bild nicht streckst oder stauchst, verschiebst, etc. Es muss 1:1 auf den Bildschirm gerendert werden.


My software never has bugs. It just develops random features.

Offline

 

#14 25.06.2007 10:26:03

KleinerHacker
UltraMember
Registriert: 31.01.2006
Beiträge: 286

Re: Buy the Car

Zitat:

das schild von dem Laden hat keinen Schatten...

mfg Chris

Folgender Grund: Wenn ich da einen Schatten mit einbette, wird daraus Volumenschatten, der dann natürlich unlogisch wirkt. Habe versucht aus dem Stencil das Volumen herauszunehmen, ohne Erfolg...



Pixel-Shader-Problem:
Ich habe schon alles mögliche im Pixel-Shader hinbekommen, aber folgendes Problem: Ich habe mal nen PS programmiert, der in Abhängigkeit der Kameraposition die gerenderten Pixel, die zu nah an der Kamera sind, abblendet. Also, wenn man auf ein Objekt zugeht wird es ab einen bestimmten Abstand langsam ausgeblendet. Problem: Wenn ich das Objekt in der Matrix verschiebe, funktioniert garnichts mehr. Wie mache ich das:

MatView*matProj -> Matrix 1
Tranzform*Scale*Rot -> Matrix 2
Matrix 2*Matrix 1 -> Matrix für PS

Das Objekt wird an der richtigen Stelle gerendert, aber wenn es dann um die Position der Pixel geht, wird mir irgendwie immer was falsches zurückgegeben. Ich arbeite natürlich mit der Transformierten Position der Pixel und meiner Kameraposition (nicht Transformiert!).

Offline

 

#15 25.06.2007 10:47:13

DerPeer
GodlikeMember
Ort: Berlin
Registriert: 04.02.2005
Beiträge: 1291

Re: Buy the Car

Also ich finde, das sieht doch schon mal ganz gut aus.

Du kannst bei der Initialsierung des 3D-Device Multisampling angeben, das bringt dann automatisch antialiasing.

Und die Skybox ist doch gar nicht schlecht! Weiß gar nicht, was Ihr alle habt smile

DerPeer

Offline

 

#16 25.06.2007 11:18:43

KleinerHacker
UltraMember
Registriert: 31.01.2006
Beiträge: 286

Re: Buy the Car

Zitat:


Is das ne Skybox? Wenn ja gefällt sie mir nicht besonders...da geht noch einiges.

1: Es ist zwar toll, dass du mir Tipps gibst, aber es ist nicht alles so einfach zu realisieren.
2: Was gefällt dir nicht?! Ich würde ja gerne Wolken auf schwarzem Jintergrund verwenden und diese vor dem gelöschten blauen Hintergrund rendern (mit Bewegung), aber: Woher soll ich die Textur nehmen, habe das Internet bereits hunderte male danach durchsucht....

Offline

 

#17 25.06.2007 11:44:36

JorEl
ExtremeMember
Registriert: 29.01.2005
Beiträge: 894

Re: Buy the Car

Zitat:

ch würde ja gerne Wolken auf schwarzem Jintergrund verwenden und diese vor dem gelöschten blauen Hintergrund rendern (mit Bewegung), aber: Woher soll ich die Textur nehmen, habe das Internet bereits hunderte male danach durchsucht....

Also wenn du bereits hunderte male danach gesucht hast, dann hast du offenbar an der total falschen Stelle gesucht - denn es gibt Unmengen an Material über cloud rendering... glaub mir, ich weiss das, denn ich hatte in den letzten zwei Jahren sehr intensiv damit zu tun. big_smile

Also im Prinzip genügt es schon ein paar perlin noise maps zu generieren - damit diese plausibler wirken würde ich empfehlen die Exponentialfunktion anzuwenden um ein wenig mehr Kontrast zu erhalten. Einen Artikel dazu gibt es unter anderem im Game Programming Gems 5. Das rendering kannst du dann auf zwei Arten machen - entweder du nimmst die filtering artifacts zur Kenntnis und mappst einfach nur die generierten maps auf eine plane (oder mehrere in unterschiedlicher höhe mit unterschiedlicher animationsgeschwindigkeit) oder du verwendest die noise map als heightmap und implementierst raycasting im Shader - allerdings lässt sich das ohne Shader 3.0 kaum erreichen und selbst wenn ist es verdammt schwierig über 80 FPS zu kommen - nur für die Wolken, da bleibt kaum noch Spielraum für alles andere.

Ich selbst verwende einen relativ aufwändigen Ansatz - habs noch nicht ganz fertig, aber vom Prinzip her funktioniert es schon mal. Die Animation wird komplett von der GPU berechnet mit einem cellular automation modell speziell für Wolken - Details über eine CPU Implementierung gibt es in Dobashis paper "A Simple, Efficient Method for Realistic Animation of Clouds" - in der GPU hat es abgesehen von mir meines Wissens noch niemand implementiert, ist aber eigentlich nicht weiter kompliziert. Im Prinzip geht es nur darum das volume in Form von slices auf eine simple 2D Textur zu mappen, weil man ja in eine volume texture nicht rendern kann. Um das Ergebnis der Animation zu rendern benutze ich billboards, wobei ich da gerade verschiedene Varianten ausprobiere. Eine Gruppierung von 32x32 Billboards scheint jedoch ganz brauchbar zu sein - man braucht allerdings unbedingt ein paar Tricks um alles zu eliminieren was nicht gerendert werden muss, denn 2 Millionen Billboards pro frame sind einfach nicht realistisch  big_smile

Um perlin noise maps zu generieren kannst du im einfachsten Fall blender verwenden, gibt aber sicher auch unzählige andere utilities die das können. Ist nichtmal schwer zu implementieren.

JorEl


Jesus hat gesagt - selig sind die, die da Leid erfahren, denn sie sollen getröstet werden... Ford Prefect hat gesagt - es ist unheimlich wichtig, dass wir miteinander reden und einen trinken.

Offline

 

#18 25.06.2007 12:01:51

KleinerHacker
UltraMember
Registriert: 31.01.2006
Beiträge: 286

Re: Buy the Car

Ist dieses perlin noise maps irgendwie was anderes als eine HeightMap? Sieht im Internet nicht viel anders aus... Ist die nur mit Graustufen oder auch mit der gesamten RGB-Palette? Und selbst wenn, wie soll es mir weiterhelfen?!

Offline

 

#19 25.06.2007 12:19:51

JorEl
ExtremeMember
Registriert: 29.01.2005
Beiträge: 894

Re: Buy the Car

Perlin Noise maps sind fraktal erzeugt - und fraktale Verfahren haben sehr oft die Eigenschaft, dass sie sich ausgezeichnet eigenen um natürliche Phänomene - in diesem Fall eben Wolken - darzustellen. Für gewöhnlich sind es nur Graustufenmaps, wobei das nicht unbedingt eine Beschränkung durch perlin noise ist sondern viel mehr was praktisches. Man kann theroetisch auch jedem Wert eine Farbe zuordnen, aber das ist nur in wenigen Fällen sinnvoll. Diese Graustufenmap kannst du nun verwenden um einen konstanten Wert zu subtrahieren von jedem Pixel - damit lässt sich wunderbar steuern wie bewölkt der Himmel sein soll. Subtrahierst du 0, so ist es die maximale Bewölkung, subtrahierst du 1.0 (oder 255, je nachdem ob du bytes oder floats verwendest) so ist der Himmel klar. Also alles was nicht schwarz ist sind im Prinzip Wolken - im einfachsten Fall kannst du sie mit alphablending auf eine plane rendern, wenn du ein komplexeres shading haben willst musst du das im pixel shader lösen.


Jesus hat gesagt - selig sind die, die da Leid erfahren, denn sie sollen getröstet werden... Ford Prefect hat gesagt - es ist unheimlich wichtig, dass wir miteinander reden und einen trinken.

Offline

 

#20 25.06.2007 12:22:30

KleinerHacker
UltraMember
Registriert: 31.01.2006
Beiträge: 286

Re: Buy the Car

Klingt sehr gut, aber ich bin leider zu blöd um so eine Map selbst herstellen zu können... Kann man nicht eine aus dem Internet laden und diese dann verwenden oder muss die Map sich wärend des laufenden Spieles verändern, also immer wieder neu erzeugt werden?

Offline

 

#21 25.06.2007 12:34:07

JorEl
ExtremeMember
Registriert: 29.01.2005
Beiträge: 894

Re: Buy the Car

Verändern muss sie sich nicht unbedingt, du kannst auch einfach die Texturkoordinaten rotieren für die Animation. Es gibt allerdings perlin noise maps die man halbwegs gut über die Zeit geringfügig verändern kann - ist jedoch unnötig kompliziert. Eine relativ einfache Methode ist, dass man mehrere maps mit verschiedenen octaves berechnet, die niedrigsten benutzt man um die rauhe Form der Wolken zu spezifizieren (diese ändern sich natürlich nur sehr selten) und die höheren bestimmen die Details der Wolken, die kann man häufiger wechseln.

Was die Generierung betrifft - wenn du das nicht selbst implementieren willst kannst du sie auch problemlos mit blender oder gimp erzeugen. gimp hat sehr gute Filter dafür, kann sogar noise maps generieren die kachelbar sind.


Jesus hat gesagt - selig sind die, die da Leid erfahren, denn sie sollen getröstet werden... Ford Prefect hat gesagt - es ist unheimlich wichtig, dass wir miteinander reden und einen trinken.

Offline

 

#22 25.06.2007 12:36:42

KleinerHacker
UltraMember
Registriert: 31.01.2006
Beiträge: 286

Re: Buy the Car

Vielen Dank! Werde es mal ausprobieren und Bilder senden...

Offline

 

#23 25.06.2007 16:36:23

Dreamworld
UltraMember
Ort: Karlsruhe
Registriert: 06.12.2005
Beiträge: 368

Re: Buy the Car

Versteh mich nicht falsch, ich hab einfach aufgeschrieben, was mir in den Sinn gekommen ist, als ich das Bild gesehen hab und das war eben genau das. Und meine Meinung ist, dass das auch das entscheidende ist und dir hilft zu sehen, was noch  besser zu machen ist. Der Spieler setzt sich hin und spielt das Spiel, wenn es nicht gleich ansprechend ist, verlieren viele Leute gleich die Lust. (Natürlich nicht alle)

Wie du das besser machen kannst...
Also ich finde sie einfach nicht hübsch, die Berge sind so blass . Ich weiß außerdem nicht, ob es in der Wüste so viele Wolken gibt, da bin ich mir aber nicht so sicher.... (schätze einfach mal dass die von der Skybox sind....)
Ok, also das mit "ist das ne Skybox" war vielleicht ein wenig übertrieben...tschuldigung.

MfG Dreamworld.

Offline

 

#24 25.06.2007 17:40:47

KleinerHacker
UltraMember
Registriert: 31.01.2006
Beiträge: 286

Re: Buy the Car

OK, ok, ich habe nun einen anderen Lösungsansatz gefunden und bin dir auch für deine Idee mit dem Volumen-Nebel dankbar...

Offline

 

#25 25.06.2007 17:45:06

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Buy the Car

zum thema Skyboxen:
Selber rendern mit Terragen. Gut animiert ist's dann natürlich nicht, aber Terragen macht echt gute Bilder. Also ich hab solche Bilder häufig als Wallpaper aufm Desktop...wurde schon häufiger von Leuten gefragt ob ich den schon mal an dem Ort da war....die haben das echt fürn Foto gehalten, ok waren auch meist DAUs.

=> Fazit: Mit wenig Programmieraufwand (= 0) schon mal nen ansehnlichen Sky. smile


My software never has bugs. It just develops random features.

Offline

 

Brett Fußzeile

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson