ScaleMaterial Layer läßt sich nicht auswählen
Verfasst: 10.01.2005 17:06
Hallo
Ich experimentiere grad mit Terrain und TexturLayers
Zum Testen habe ich einige Zeilen in das Terrain Example eingefügt.
Was ich erreichen wollte, war ein Skalieren der Detailtexture mittels Numpad_1 und Numpad_2
Editiert: Mittlerweile habe ich noch Skalieren der Basis Texture Layer 0 eingefügt (Numpad_4 und Numpad_5) und es zeigt sich, daß bei beidem das Gleiche passiert - nur Layer 0 wird skaliert - anscheinend ein Bug.
Was ich auch als Layer angebe, es wird nur die Layer 0 Textur skaliert.
Scheint also ein Bug zu sein
Ich experimentiere grad mit Terrain und TexturLayers
Zum Testen habe ich einige Zeilen in das Terrain Example eingefügt.
Was ich erreichen wollte, war ein Skalieren der Detailtexture mittels Numpad_1 und Numpad_2
Editiert: Mittlerweile habe ich noch Skalieren der Basis Texture Layer 0 eingefügt (Numpad_4 und Numpad_5) und es zeigt sich, daß bei beidem das Gleiche passiert - nur Layer 0 wird skaliert - anscheinend ein Bug.
Code: Alles auswählen
;
; ------------------------------------------------------------
;
; PureBasic - Terrain
;
; (c) 2003 - Fantaisie Software
;
; ------------------------------------------------------------
;
#CameraSpeed = 5
IncludeFile "Screen3DRequester.pb"
DefType.f KeyX, KeyY, MouseX, MouseY, texscale0, texscale1
If InitEngine3D()
Add3DArchive("Data\" , #PB_3DArchive_FileSystem)
Add3DArchive("Data\Skybox.zip", #PB_3DArchive_Zip)
InitSprite()
InitKeyboard()
InitMouse()
If Screen3DRequester()
AmbientColor(RGB(255,255,255))
CreateMaterial (0, LoadTexture(0, "Terrain_Texture.jpg"))
AddMaterialLayer(0, LoadTexture(1, "Terrain_Detail.jpg"), 1 )
texscale0=1.0
texscale1=1.0
CreateTerrain("Terrain.png", MaterialID(0), 4, 0.6, 4, 4)
CreateCamera(0, 0, 0, 100, 100)
CameraRange(0,0.01,6000)
CameraLocate(0, 128, 25, 128)
SkyDome("Clouds.jpg",10)
Repeat
Screen3DEvents()
If ExamineKeyboard()
If KeyboardPushed(#PB_Key_Left)
KeyX = -#CameraSpeed
ElseIf KeyboardPushed(#PB_Key_Right)
KeyX = #CameraSpeed
Else
KeyX = 0
EndIf
If KeyboardPushed(#PB_Key_Up)
KeyY = -#CameraSpeed
ElseIf KeyboardPushed(#PB_Key_Down)
KeyY = #CameraSpeed
Else
KeyY = 0
EndIf
If KeyboardPushed(#pb_key_pad1)
texscale1=texscale1-0.001
ScaleMaterial(0,texscale1, texscale1, 1) ;hier 1 für Detail Layer
EndIf
If KeyboardPushed(#pb_key_pad2)
texscale1=texscale1+0.001
ScaleMaterial(0,texscale1, texscale1, 1) ;hier 1 für Detail Layer
EndIf
If KeyboardPushed(#pb_key_pad4)
texscale0=texscale0-0.001
ScaleMaterial(0,texscale0, texscale0, 0) ;hier 0 für Basis Layer
EndIf
If KeyboardPushed(#pb_key_pad5)
texscale0=texscale0+0.001
ScaleMaterial(0,texscale0, texscale0, 0) ;hier 0 für Basis Layer
EndIf
EndIf
If ExamineMouse()
MouseX = -(MouseDeltaX()/2)*#CameraSpeed/2
MouseY = -(MouseDeltaY()/2)*#CameraSpeed/2
EndIf
Height.f = TerrainHeight(CameraX(0), CameraZ(0))
RotateCamera(0, MouseX, MouseY, RollZ)
MoveCamera (0, KeyX, -CameraY(0)+Height+8, KeyY)
RenderWorld()
Screen3DStats()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
EndIf
Else
MessageRequester("Error", "The 3D Engine can't be initialized",0)
EndIf
End
Scheint also ein Bug zu sein