#1 28.08.2005 14:55:27

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

Versuch - translucent objects

Nach langen werkeln und gnadenlosen Fehlern mit Kollisionserkennungen habe ich einen neuen Versuch gestartet, der mit ZBuffer-Vergleichen arbeitet.
Der ZBuffer des Objekts wird einmal mit CW Culling in eine Textur gespeichert, dann in eine weitere Textur das gleiche nur mit CCW Culling.
Im 3. Pass werden die 2 ZBuffer-Texturen auf das Objekt drauf projiziert und der PixelShader errechnet die Dicke indem er den Unterschied der 2 Z-Werte nimmt. Dann noch eine orangene Textur zu den berechneten Farbwerten hinzufügen und fertig.
Eigentlich ganz einfach. Mag vielleicht nicht so korrekt sein, aber hauptsache es funktioniert realtime und sieht gut aus - über das Aussehen sollt ihr nun eine Meinung abgeben  big_smile


Attachments:
Attachment Icon Screenshot141.jpg, Größe: 21,480 bytes, Downloads: 537
Attachment Icon Screenshot136.jpg, Größe: 25,305 bytes, Downloads: 553
Attachment Icon Screenshot133.jpg, Größe: 23,433 bytes, Downloads: 504

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

Offline

 

#2 28.08.2005 15:33:14

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

Re: Versuch - translucent objects

genial!  :p


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

Offline

 

#3 29.08.2005 10:39:41

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

Re: Versuch - translucent objects

@Coolcat: Kürzer gings wohl nicht  :mrgreen:

Da ich gerade in den News die Fledermaus gesehen hab, muss ich die auch gleich mal zeigen - also so sieht die bei mir aus. Ich find es ganz angenehm  smile


Attachments:
Attachment Icon Screenshot145.jpg, Größe: 23,177 bytes, Downloads: 552

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

Offline

 

#4 29.08.2005 11:19:36

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

Re: Versuch - translucent objects

Zitat:

Kürzer gings wohl nicht  :mrgreen:

Naja, man muss ja immer was motivierendes schreiben....und das ist das Ergebnis wenn ich keine Zeit hab.... wink

Wie kommt der dunkele Rand bei der Kugel (Screenshot133.jpg) zustande?

Überings verstehe ich nicht ganz, warum du das "transparent" nennst? big_smile Sollte da nicht der Hintergrund irgendwie durchscheinen und nicht nur die Texturfarbe geändert werden?

Coolcat


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

Offline

 

#5 29.08.2005 12:42:42

Back in Time
ProMember
Registriert: 08.04.2005
Beiträge: 130

Re: Versuch - translucent objects

Wo steht transparent?


If we would understand it we wouldn't call it code.

Offline

 

#6 29.08.2005 13:03:23

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

Re: Versuch - translucent objects

@Back in Time: Im Tread-Titel. wink Außerdem auch in diesem http://www.delphidev.de/phpBB2/viewtopi … p;start=15.


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

Offline

 

#7 29.08.2005 17:43:24

Lotipats
UltraMember
Registriert: 17.05.2005
Beiträge: 395

Re: Versuch - translucent objects

Ich finde, dass sieht klasse aus.
Das erinnert mich irgendwie an die Wachsfiguren (oder so) von NVIDIA, aber ich habe keine Idee wie die das gemacht haben, aber wahrscheinlich ähnlich.

LOTIPATS

Offline

 

#8 29.08.2005 17:51:47

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

Re: Versuch - translucent objects

@Coolcat: Im Shader ist ne Lichtvariable drin. Die kann ich auf die Hintergrundfarbe setzen, dann sieht es in etwa so aus, als würde das Licht durchscheinen. Erwähnen muss ich auch, dass die knallorange Textur warscheinlich nicht so angebracht ist  big_smile

@Lotipats: Dankeschön smile. Ich hab mir heute das Sample aus dem SDK angeschaut - au weia machen die das billig. Ich glaub das probier ich morgen auch schnell mal  big_smile


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

Offline

 

#9 30.08.2005 07:32:21

Back in Time
ProMember
Registriert: 08.04.2005
Beiträge: 130

Re: Versuch - translucent objects

@Coolcat... dann stimmt was mit meinem Browser nicht... da steht n andere Threadtitel.

Ist irgendwie krank, dass man sich an so nem Kleinscheiß hochziehen kann. Aber Spass machts trotzdem. Und ja Artzuk... sexy bilders !!!

:mrgreen:


If we would understand it we wouldn't call it code.

Offline

 

#10 30.08.2005 08:49:52

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

Re: Versuch - translucent objects

translucent != transparent ?

(achso bin ja im Delphi-Forum...also: )

translucent <> transparent ?



nach meinem Langenscheidt nicht...


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

Offline

 

#11 30.08.2005 10:40:55

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

Re: Versuch - translucent objects

"translucent" heist direkt übersetzt "lichtdurchlässig".

@Back in Time: Auch dir ein Danke für das Lob.

..wegen der Kugel. Ich weis selber nicht, warum die denn am Rand auf einmal so dunkel wird. Kann mit Mipmapping zusammen hängen.


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

Offline

 

#12 30.08.2005 14:22:33

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

Re: Versuch - translucent objects

klar, aber ist lichtdurchlässig nicht ein anderes wort für transparent?


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

Offline

 

#13 30.08.2005 15:21:44

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

Re: Versuch - translucent objects

Nicht ganz. Bei transparent scheint eigentlich alles durch, bei lichtdurchlässig nur die Farbe des Lichtes und sonst nichts. Liegt schon nah beieinander.


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

Offline

 

#14 30.08.2005 19:02:10

Holly
Member
Ort: Leipzig
Registriert: 24.01.2005
Beiträge: 76
Web-Seite

Re: Versuch - translucent objects

translucency ist zwar lichtdurchlässigkeit, aber nich im sinne von transparent......wax ist ja nicht wirklich transparenz, aber lichtdurchlässig.....bei solche einem effekt (auch sub-surface-scattering [SSS] genannt) wird der weg des lichts durch ein DICKES objekt berechnet.....licht wird absorbiert, gebrochen ect. .....dadurch entstehen diese geilen übergänge.....und eigentlich kommt ja auch der hintergrund durch.....nur so schwach, dass man es kaum erkennt.....bei nem ganz schwach transparenten glas erkennt man den hintergrund auch nicht wirklich......nur bei transparenz wird halt meist die dicke des objektes nicht berücksichtigt....bei SSS schon.....is hier natürlich recht "einfach" gelöst.....würde man nen SSS-effekt mit nem raytracer berechnen, würde das für so ne fledermaus mit annehmbarer qualität mehrere stunden dauern.....aber SSS is einer meiner lieblingseffekte und ich zolle artzuk echt respekt, dass er das so geil hinbekommen hat, auch wenn das laufende programm noch einige fehler aufweißt......THUMBS UP

in diesem sinne - WEITER MACHEN big_smile

PsychoDX


Enjoy the 3 dimensions of livin'....

Offline

 

#15 30.08.2005 21:41:58

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

Re: Versuch - translucent objects

Großes Danke @Holly  smile  ... wenn es einer deiner Lieblingseffekte ist, kann ich das große Lob verstehen  wink


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

Offline

 

#16 31.08.2005 07:06:39

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

Re: Versuch - translucent objects

aha  :doof: wieder was gelernt.... wink


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

Offline

 

#17 31.08.2005 18:27:14

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

Re: Versuch - translucent objects

Sieht wirklich gut aus!
Wie haßt du die Orange-farbe in Abhängigkeit von der Materialdicke berechnet? Linear? Also so:
orangestärke = (Zmax-Zmin) ?

Meine nur, es wäre exponentiell realistischer, falls du das nicht schon gemacht hast, also etwa so:
orangestärke = 1-exp( -(Zmax-Zmin) )

Nur so ne Idee.

Offline

 

#18 31.08.2005 19:26:43

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

Re: Versuch - translucent objects

Ich hab dafür die lineare FogFormel benutzt. Bei der exponentiellen lief es irgendwie nicht .. vielleicht hat ich auch nur ne schlechte Minute erwischt. Ich probier da noch weiter dran rum.


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

Offline

 

Brett Fußzeile

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson