Seite 3 von 6

Verfasst: 19.06.2006 13:05
von dllfreak2001
Ich hab mal sowas gemacht, Sonnensystem als Test für den Milkshapeexporter.
Da hab ich das Licht in die Sonnenkugel gesteckt und den Kramm halt kleiner skaliert. Man muß jetzt schon ziemlich weit fliegen um nix mehr vom Licht zu sehen.
Wenn man Schatten macht kann man sogar sehen wie der Mond ne Sonnenfinsternis macht.

Verfasst: 19.06.2006 13:46
von Ground0
Du meinst also das Ganze auf die Licht verhältnisse Dimensionieren ? Noch kleiner als sie schon ist... Mal kuken vieleicht bleibt mir ja nichts anderes übrig ...

Gruss Ground0

Verfasst: 19.06.2006 19:00
von dllfreak2001
Tja, PB-Ogre ist noch nicht so besonders.


Wenn das aber klappt mit der dll dann sag bescheid.

Verfasst: 20.06.2006 12:30
von Ground0
Hallo

Also wolte anfangen Herum zu experimentieren....

Code: Alles auswählen



InitEngine3D()
InitSprite()
InitKeyboard()
LoadFont(0,"Courier New",22)
Add3DArchive("\3D",#PB_3DArchive_FileSystem)
Parse3DScripts()
OpenScreen(1024,768,32,"Test")
LoadMesh(22,"Test.mesh")
CreateEntity(23,MeshID(22),#PB_Material_None ,0,0,-900)
CreateEntity(43,MeshID(22),#PB_Material_None ,0,-200,-900)
AmbientColor(RGB(0,0,0))
CreateLight(3,RGB(255,255,200),0,100,-900)

OpenLibrary(54,"Engine3D.dll")
;  CallCFunction(54,"LightAttenuation",0,3)

CreateCamera(1,0,0,100,100)
CameraLocate(1,0,0,0)

If IsLight(3)
Else
  MessageRequester("Fehler","Keine Lichter")
  End
EndIf
Licht=-900
Repeat
  
  CallCFunction(54,"LightLocate",3,0,100,Licht)
  ;LightLocate(3,0,100,Licht)
  Licht=Licht--1
  Delay(0)
ExamineKeyboard()
RenderWorld()
StartDrawing(ScreenOutput())
BackColor(RGB(0,0,0))
DrawText(20,20,"Position Licht:"+Str(Licht),RGB(255,255,255))
StopDrawing()
FlipBuffers()

Until KeyboardPushed(#PB_Key_Escape)
CloseLibrary(54)

RenderWorld()
FlipBuffers()

CloseScreen()
Das Ding macht den Screen auf und sobald er beim CallFunction ankommt ist schluss, da schliesst er den Screen das Programm bleibt aber weiterhin Aktiv und Stürtzt nicht ab... kein Fehler, keine Debug Meldung kein Garnichts.... :(

So geht es dann: :D

Code: Alles auswählen

  ;CallCFunction(54,"LightLocate",3,0,100,Licht)
  LightLocate(3,0,100,Licht)
Weis da Gerade ein Profi was ich falsch mache?

Gruss Ground0[/code]

Verfasst: 20.06.2006 18:51
von dllfreak2001
in der Hilfe steht das alle PArameter angegebn werden müssen
und vielleicht funzt das nicht weil diese Funktion mit quads oda so arbeitet.
CallCFunction() scheint noch nicht vollkompatibel zu sein.

Verfasst: 20.06.2006 23:54
von Ground0
Da die Engine ja im Source Forliegt kann ich da ja mal reinkuken gehen :( ich h**e C und alles was damit anfäng grmbl... aber oki meld mich wieder.

Gruss Ground0

Verfasst: 08.07.2006 00:41
von Ground0
So bin mal durchdie Ogre seiten gekrochen und habe mich etwas eingelesen :) wie es scheint im Moment kan man einiges mit den Material Scripts machen :D also wenn ich dämnächst mal Resultate habe die etwas nützen werde ich sie Vorlegen

Gruss

Verfasst: 08.07.2006 06:15
von Kaeru Gaman
Ground0 hat geschrieben:Hallo ...

Also nach durchforsten der Engine3D.dll bin ich auf das Gestossen in 3D Programmen ist es genau das wass ich suche... :
LightAttenuation
Was denkt ihr?
Wenn ja könte man es da mit den PureBasic DLL dateien wass ändern daran mit einem Funktionsaufruf darauf... ?

Gruss G0
da hatte ja noch keiner geantwortet....

"Attenuation" ist aufjeden fall der richtige schlüsselbegriff.
kommt jetzt drauf an, was für parameter die funktion erwartet,
aber normalerweise sollte das eine standardentfernung sein,
bei der die lichtstärke den wert "1" besitzt,
und ein exponent, der die stärke des "Fadings" bestimmt.
(natürlich zusätzlich zu den parametern, die bestimmen,
welche lichtquelle du überhaupt meinst)

Verfasst: 14.08.2006 10:42
von Ground0
Bevor dieses Thema Komplett vergessen ist...

Hab mir das ganze Materialscript usw. angeschaut gehabt, das alles hat aber nur auf die Objekte selbst einfluss, keinen Einfluss auf das Licht :(

Werd mich jetzt noch andersrum schlau machen...

Cu

Verfasst: 16.08.2006 20:24
von Xenos
Die Ogre Engine ist halt nicht das gelbe vom Ei (immer noch besser als gar nichts)

Was mir persönlich fehlt ist eine Möglichkeit:
-senkrechte Wände in ein Terrain einzubauen,
-Meshes zur Laufzeit zu erstellen (also nicht aus der Data-Sektion oder einer externen Datei) und zu animieren
-Entities mit Parent und Child- Properties auszustatten

Möglicherweise gibt es dafür schon Lösungen, aber für mich als 3D-Nulpe gillt bisher:
Ich würde gern, kann aber nicht... :(