cubemap echtzeitreflektions problem
Übersicht

![]() |
rctunerBetreff: cubemap echtzeitreflektions problem |
![]() Antworten mit Zitat ![]() |
---|---|---|
hallo,
ich hab diesen code hier mal im forum gefunden und damit angefangen zu experementieren. Wieso wirt die Spiegelung auf dem cube falsch dargestellt?? Es sieht so aus als hätte der Würfel einen Knick in der Mitte. Vielleicht wegen den Dreiecken aus dem eine Seite beseteht? Code: [AUSKLAPPEN] Graphics3D 1024,768,0,2
AppTitle "Cubemapping" Global cam=CreateCamera() PositionEntity cam,0,3,-15 Global cube_cam=CreateCamera() HideEntity cube_cam Global cube = CreateCube() ;ScaleEntity cube,10,0.2,10 ScaleEntity cube,10,0.1,10 PositionEntity cube,0,-13,10 Global tex_size=512 Global tex=CreateTexture(tex_size,tex_size,1+128+256) SetCubeMode tex,1 EntityTexture cube,tex sp=CreateSphere() ScaleEntity sp,1,5,1 PositionEntity sp,0,3,7 sky=CreateSphere() ScaleEntity sky,300,300,300 FlipMesh(sky) EntityColor sky,255,0,255 SetBuffer BackBuffer() While Not KeyDown(1) If KeyDown(203) Then MoveEntity sp,0.3,0,0 If KeyDown(205) Then MoveEntity sp,-0.3,0,0 If KeyDown(208) Then MoveEntity sp,0,0,0.3 If KeyDown(200) Then MoveEntity sp,0,0,-0.3 cubemap() UpdateWorld() RenderWorld() Flip Wend End Function cubemap() Pitch=EntityPitch(cam) yaw=EntityYaw(cam) roll=EntityRoll(cam) PointEntity cam,cube PositionEntity cube_cam,EntityX(cam,1),-EntityY(cam,1)+2*EntityY(cube,1),EntityZ(cam,1) HideEntity cube HideEntity cam ShowEntity cube_cam CameraClsMode cube_cam,False,True CameraViewport cube_cam,0,0,tex_size,tex_size SetCubeFace tex,0 RotateEntity cube_cam,0,90,0 RenderWorld CopyRect 0,0,tex_size,tex_size,0,0,BackBuffer(),TextureBuffer(tex) SetCubeFace tex,1 RotateEntity cube_cam,0,0,0 RenderWorld CopyRect 0,0,tex_size,tex_size,0,0,BackBuffer(),TextureBuffer(tex) SetCubeFace tex,2 RotateEntity cube_cam,0,-90,0 RenderWorld CopyRect 0,0,tex_size,tex_size,0,0,BackBuffer(),TextureBuffer(tex) SetCubeFace tex,3 RotateEntity cube_cam,0,180,0 RenderWorld CopyRect 0,0,tex_size,tex_size,0,0,BackBuffer(),TextureBuffer(tex) SetCubeFace tex,4 RotateEntity cube_cam,-90,0,0 RenderWorld CopyRect 0,0,tex_size,tex_size,0,0,BackBuffer(),TextureBuffer(tex) SetCubeFace tex,5 RotateEntity cube_cam,90,0,0 RenderWorld CopyRect 0,0,tex_size,tex_size,0,0,BackBuffer(),TextureBuffer(tex) ShowEntity cube HideEntity cube_cam ShowEntity cam RotateEntity cam,Pitch,yaw,roll End Function EDIT ich hab gerade rausbekommen dass das problem nur auftritt wenn ich den würfel scalliere. Aber es sollte doch trotzdem funktionieren?? wo ist der fehler? |
||
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu [AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB] |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
was ist falsch. Vielleicht vergisst du das die Reflektion falscher aussehen wird wenn die Fläche grösser ist weil die Kamera halt nur ein Punkt ist und richtige Reflektion über grössere Flächen halt so nicht erreichbar ist. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
rctuner |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie könnte ich dann ein Meer darfstellen?
die kamera wird doch immer verschoben, oder versteh ich da was falsch |
||
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu [AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB] |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn das Meer nur den Himmel spiegeln soll dann indem du direkt den himmel als cubemap vorliegen hast und darauf anwendest
aber spiegelungen drin von objekten am strand oder schiffen: keine chance mit der technik. da musst du effektiv mirror plane nehmen und zusätzlich noch etwas für culling probleme auffahren an stränden und so (hat nen code dafür im englischen forum) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
rctuner |
![]() Antworten mit Zitat ![]() |
---|---|---|
wird bei createmirror die komplette welt kopiert und dargestellt?
also hätte ich dann die doppelte anzahl an polygonen? |
||
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu [AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB] |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jupp
Aber das macht nicht so einen Unterschied, denn da Cubemap 7 Mal rendern statt nur 1 bedeutet wird ein Mirror in so machen Fällen vermutlich dennoch besser weg kommen als cubemap. Speziell wenn wir von lahmarsch Grafikkartensprechen |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mirror spiegeln nicht alles. Sie Spiegeln nur, wovon der Objektursprung unter dem Mirror ist. Je nachdem, ob du tauchen möchtest, kann das hässlich aussehen. | ||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
rctuner |
![]() Antworten mit Zitat ![]() |
---|---|---|
dreamora, wo finde ich den code im englischen forum? ich hab schon überall nach etwas vergleichbarem gesucht ohne erfolg. | ||
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu [AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB] |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nun wonach suchst du denn genau?
Denn was du im englischen Forum findest ist eine Verwendung von verschiedenen Tricks kombiniert mit Culling Tricks um die Probleme zu beseitigen die sonst auftreten mit objekten die gleichzeitig über und unter der Oberfläche sind (schiffe, inseln und so) kann dir leider keinen direkten link anbieten. Könnte jedoch sein das er im projektforum war. bin mir nicht sicher das das dann ins Codearchiv kam, denke eher weniger (aber die 3d sektion ist ja nicht so gross) Ist auf jeden Fall schon monate her. Wirst schon einige zeit suchen mit 20min wirst du da nirgends hin kommen. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Arrangemonk |
![]() Antworten mit Zitat ![]() |
---|---|---|
http://www.myblitz3d.narod.ru/blitz/mirrors.zip
das hab ich mal gefunden villeicht hilft das weiter^^ |
||
ingeneur |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group