Cubemapping Problem

Übersicht BlitzBasic Blitz3D

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.

NightPhoenix

Betreff: Cubemapping Problem

BeitragSa, Sep 16, 2006 12:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo liebe HobbyCoder und an alle die es mal werden wollen! Wink
Ich bin mit meiner kleinen Insel schon weiter voran geschritten und hab mich mal an Cubemapping für das Wasser versucht. Ich habe mich an das Example für SetCubeface unter Help gehalten.
Jedoch sind die Spiegelungen jetzt verkehrt herum (d.h. Wenn ein Boot im Wasser schwimmt sieht man es als Spiegelbild im Wasser genauso wie es da eben schwimmt.
Zur besseren Anschauung meines Problems habe ich ml einige Screenshots auf meinen Server hochgeladen:

http://marinext.ma.funpic.de/i...itzcc1.JPG

http://marinext.ma.funpic.de/i...itzcc2.JPG

http://marinext.ma.funpic.de/i...itzcc3.JPG

http://marinext.ma.funpic.de/i...itzcc4.JPG

http://marinext.ma.funpic.de/i...itzcc5.JPG








Der Code:




Graphics3D 1024,768,32,1
SetBuffer BackBuffer()



light=CreateLight()
TurnEntity light,45,45,0
PositionEntity light,0,10000,0



GravPivo=CreatePivot(); Pivot für die Gravitation (momentan ausgeschalten)

cam=CreateCamera(GravPivo)
CameraFogMode cam,1
CameraRange cam,1,26000
CameraFogRange cam,10000,25000
CameraFogColor cam,100,150,255
CameraClsColor cam,100,150,255
RotateEntity cam,0,0,0
PositionEntity cam,0,0,0
EntityRadius cam,50
EntityType cam,1
MoveEntity cam,17500,1400,17500


cube_cam=CreateCamera()
HideEntity cube_cam


Isle=LoadTerrain ("IsleTerrain.bmp")
ScaleEntity Isle,100,2500,100
TerrainDetail Isle,5000,False
IsleTexture=LoadTexture ("TerrainTex1.bmp")
EntityTexture Isle,IsleTexture
EntityFX Isle,16
ScaleTexture IsleTexture,500,500
EntityType Isle,2


water=CreatePlane()
PositionEntity water,0,1200,0
EntityAlpha water,0.7



Himmel=CreateSphere(20)
ScaleEntity Himmel,70000,70000,8000
RotateEntity Himmel,90,0,0
EntityFX Himmel,16
HT=LoadTexture("Wolken1.bmp")
EntityTexture Himmel,HT
ScaleTexture HT,0.1,0.1
MoveEntity Himmel,14000,0,0



Feuerzeug=LoadMesh("lighter/Feuerzeug.3ds")
MoveEntity Feuerzeug,16000,1200,16500
EntityFX Feuerzeug,16

Schiff=LoadMesh("Navy_Destroyer.3ds")
MoveEntity Schiff,11000,1180,12500
ScaleEntity Schiff,10,10,10



tex=CreateTexture(512,512,1+128+256); erstellen der Cubemode Texture

EntityTexture water,tex; legen der Cubemode-Textur auf das Wasser

cube_mode=1; Spiegelungsverhalten




Collisions (1,2,2,3)
Collisions (2,1,2,3)



While Not KeyHit(1)



RotateTexture HT,MilliSecs()*0.00005

MoveEntity water,0,Sin(MilliSecs()*0.02)*0.07,0
MoveEntity Schiff,0,Sin(MilliSecs()*0.02)*0.07,0

MoveEntity GravPivo,0,0,0; Pivot wird durch Gravitation heruntergezogen und die Kamera dadurch mit -> damit Grav. nicht an Richtung der Kamera gebunden ist



; >>Kamera Kontrolle<<

; Maussteuerung

RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0
MoveMouse 512,384


; Bewegt die Kamera mit den Kursortasten Vorwärts, Rückwärts, etc.

If KeyDown(200)=True Then MoveEntity cam,0,0,10.2
If KeyDown(208)=True Then MoveEntity cam,0,0,-10.2
If KeyDown(205)=True Then MoveEntity cam,10.2,0,0
If KeyDown(203)=True Then MoveEntity cam,-10.2,0,0


; Wenn M gedrückt wird ändert sich SetCubeMode um +1
If KeyHit(50)
cube_mode=cube_mode+1
If cube_mode=4 Then cube_mode=1
SetCubeMode tex,cube_mode
EndIf


HideEntity cam

UpdateCubemap(tex,cube_cam,water)

ShowEntity cam



UpdateWorld
RenderWorld

Flip
Wend





;Die Function hab ich aus der Hilfe für SetCubeFace kopiert:

Function UpdateCubemap(tex,camera,entity)

tex_sz=TextureWidth(tex)

; Show the camera we have specifically created for updating the cubemap
ShowEntity camera

; Hide entity that will have cubemap applied to it. This is so we can get cubemap from its position, without it blocking the view
HideEntity entity

; Position camera where the entity is - this is where we will be rendering views from for cubemap
PositionEntity camera,EntityX#(entity),EntityY#(entity),EntityZ#(entity)

CameraClsMode camera,False,True

; Set the camera's viewport so it is the same size as our texture - so we can fit entire screen contents into texture
CameraViewport camera,0,0,tex_sz,tex_sz

; Update cubemap

; do left view
SetCubeFace tex,0
RotateEntity camera,0,90,0
RenderWorld
CopyRect 0,0,tex_sz,tex_sz,0,0,BackBuffer(),TextureBuffer(tex)

; do forward view
SetCubeFace tex,1
RotateEntity camera,0,0,0
RenderWorld
CopyRect 0,0,tex_sz,tex_sz,0,0,BackBuffer(),TextureBuffer(tex)

; do right view
SetCubeFace tex,2
RotateEntity camera,0,-90,0
RenderWorld
CopyRect 0,0,tex_sz,tex_sz,0,0,BackBuffer(),TextureBuffer(tex)

; do backward view
SetCubeFace tex,3
RotateEntity camera,0,180,0
RenderWorld
CopyRect 0,0,tex_sz,tex_sz,0,0,BackBuffer(),TextureBuffer(tex)

; do up view
SetCubeFace tex,4
RotateEntity camera,-90,0,0
RenderWorld
CopyRect 0,0,tex_sz,tex_sz,0,0,BackBuffer(),TextureBuffer(tex)

; do down view
SetCubeFace tex,5
RotateEntity camera,90,0,0
RenderWorld
CopyRect 0,0,tex_sz,tex_sz,0,0,BackBuffer(),TextureBuffer(tex)

; Show entity again
ShowEntity entity

; Hide the cubemap camera
HideEntity camera

End Function



ClearWorld
End








Alle Objekte und Texturen für den Code:
http://marinext.ma.funpic.de/i...ityIsland/

Aus Platzgründen für den Server wurde die Datei TerrainTex1.BMP als .JPG abgespeichert... bitte convertet es doch mit Paint oder so wieder in BMP für volle funktionalität


Kamera: Maussteuerung
SetCubeMode ändern mit M
Bewegen: Pfeiltasten
Kollision funktioniert seit dem Cubemapping nicht mehr. komisch...



Ich hoffe ihr könnt mir Tipps oder gar die Lösung für das Problem sagen.
Ich weiß echt nicht mehr weiter.


Danke! MfG. Wink
  • Zuletzt bearbeitet von NightPhoenix am Sa, Sep 16, 2006 12:24, insgesamt einmal bearbeitet

Blitzcoder

Newsposter

BeitragSa, Sep 16, 2006 12:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Frau hast du eh nicht selber gemodelt...
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)

NightPhoenix

BeitragSa, Sep 16, 2006 12:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß ^^
Ich meinte ja auch das könnte jeder selbst machen.
Kannst du mir trotzdem helfen?

Lunatix

BeitragSa, Sep 16, 2006 12:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Mh...

Du hättest deine frage normal posten können, vlt. hätte ich dir dann geholfen....

Sag mal spinnst du eigendlich ?? Wenn du deine (meiner und ein paar anderer meinung nach) pornografischen 3d modelle , die bei C4D standard ist, unbedingt posten willst, dann such die ein anders forum!!

Wahrscheinlci hwarst du eben auch dieser komische Sebi der was programmiert haben wollte O.o

@Mods : Pls trash >:O
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Blitzcoder

Newsposter

BeitragSa, Sep 16, 2006 12:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst dich keine nicht eigene frau einfach als Belohnung aussetzten.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)

NightPhoenix

BeitragSa, Sep 16, 2006 12:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Frau wurde mit MakeHuman gemacht.
Ich hab sie jetzt rausgenommen... Sorry. Sad
Wusste nicht dass das hier veboten ist.
  • Zuletzt bearbeitet von NightPhoenix am Sa, Sep 16, 2006 12:30, insgesamt einmal bearbeitet

d-bug

BeitragSa, Sep 16, 2006 12:30
Antworten mit Zitat
Benutzer-Profile anzeigen
~GESCHLOSSEN~


@NightPhoenix
Ein bisschen kürzer das nächste mal vorallem mit weniger unaussagekräftigen
Bildern! ...und benutze die Codetags!

@BlitzCoder + Junkprogger
Ist ja gut jetzt hier. Kein Grund ihn gleich runter zu putzen.

Alles im Allem voll daneben gegangen

cheers

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group