Spiegel Fake von ???
Hier ein kleiner Fake mit dem man den Eindruck eines spiegelnden Objects erzeugen kann.
Das Paket mit dem Quellcode, der ausführbaren Datei und einer Textur könnt Ihr Euch [url=http://home.arcor.de/bruzard/spiegel.zip]hier herunterladen.[/url]

Hier der Code:
[code:1:94b08963f8]
Graphics3D 800,600,16,1
SetBuffer BackBuffer()

; Spielerkamera erzeugen
piv=CreatePivot()
cam=CreateCamera(piv)
PositionEntity cam,0,0,-4

; Raum erzeugen
room=CreateCube()
room_tex=LoadTexture("bricks.jpg")

EntityTexture room,room_tex
FlipMesh room
ScaleMesh room,5,5,5

; zwei nette Lichter
light=CreateLight(2)
PositionEntity light,-2.5,2.5,0
LightRange light,1

light2=CreateLight(2)
PositionEntity light2,2.5,-2.5,0
LightRange light2,1

; Spiegeltexture
tex=CreateTexture(128,128,64+256)
TextureBlend tex,3

; Spiegelkugel erzeugen
cyl=CreateCylinder(32)
EntityTexture cyl,tex
EntityShininess cyl,0.6

; Kamera der Kugel
cylcam=CreateCamera(cyl)
CameraZoom cylcam,0.2
PositionEntity cyl,0,0,0
HideEntity cylcam

; ein bisschen Zeit messen
temp_fps=0
fps=0
t=MilliSecs()

; Mainloop
Repeat
msx#=MouseXSpeed()
msy#=MouseYSpeed()

If KeyHit(1) Then End

If msx Then TurnEntity cam,0,-(msx*0.1),0
If msy Then TurnEntity piv,msy*0.1,0,0

MoveMouse 400,300

Mirror(cyl,cylcam,cam,tex)

TurnEntity cyl,1,1,1

UpdateWorld : RenderWorld

temp_fps=temp_fps+1
If MilliSecs()-t>1000
fps=temp_fps
t=MilliSecs()
temp_fps=0
EndIf

Text 0,0,fps+" frames per second",0,0
Flip
Forever

; Spiegel faken
Function Mirror(obj,mirrorcam,camera,texture)
ShowEntity mirrorcam
PointEntity mirrorcam,camera
HideEntity camera
RenderWorld
CopyRect 0,0,256,256,0,0,0,TextureBuffer(texture)
HideEntity mirrorcam
ShowEntity camera
EntityTexture obj,texture
End Function
[/code:1:94b08963f8]
Das funktioniert mit jedem Objekt. Wollt Ihr den Effekt auf Objekte anwenden die Ihr mit einem externen Programm (Milkshape, 3DSMax, Lightwave etc.) erstellt habt, sieht es am besten aus wenn dieses Objekt mit einem spherischen Mapping versehen ist. Noch besser sieht es aus wenn die Spiegeltextur als zweiter Layer auf das Object gelegt wird und der erste Layer das Grundmaterial des Objects beinhaltet ... so können z.B. Kratzer oder Rost dargestellt werden.
===
von ???
Hi!
sieht sehr gut aus!
http://mitglied.lycos.de/the_darkfuture/Reflektion.zip
habe das ganze mal mit eine "komplexen" model +
skybox gemacht. Alles nach Deiner Methode
mfg olli
===
von ???
Yap, sauber ... man kann das noch erweitern indem man 6 Ansichten rendert und somit ein cubisches Mapping erreicht...
===
von ???
juhu, cube mapping



Suche:
(unterstützt mySQL Wildcards ala %)
Titel:
Text:
Autor: