Seite 1 von 1

three engine mit spider nutzen

Verfasst: 27.06.2022 20:33
von xperience2003
hallo,

vorangestellt, ich habe absolut null plan von js
darum würd ich ja gern spider nutzen

habe dieses einfache programm in der html

Code: Alles auswählen

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>My first three.js app</title>
		<style>
			body { margin: 0; }
		</style>
	</head>
	<body>
		<script src="js/three.js"></script>
		<script>
			const scene = new THREE.Scene();
			const camera = new THREE.PerspectiveCamera( 55, window.innerWidth / window.innerHeight, 0.1, 1000 );

			const renderer = new THREE.WebGLRenderer();
			renderer.setSize( window.innerWidth, window.innerHeight );
			document.body.appendChild( renderer.domElement );

			const geometry = new THREE.TorusKnotGeometry( 9, 3, 44, 8 );
            const material = new THREE.MeshBasicMaterial( { color: 0xf0f0a0 } );
            const torusKnot = new THREE.Mesh( geometry, material );
            scene.add( torusKnot );

			camera.position.z = 35;

			function animate() {
				requestAnimationFrame( animate );

				torusKnot.rotation.x += 0.01;
				torusKnot.rotation.y += 0.05;
				
				renderer.render( scene, camera );
			};

		animate();

		</script>
	</body>
</html>

es benutzt die three engine, welche sich im ordner "js" bei der htm befindet
funktioniert auch wunderbar

nun versuche ich dieses in spider einzubinden

Code: Alles auswählen

; three webgl
; ------------------------------------------------------------
EnableExplicit

Global myscene,myrenderer,mycamera,torus
Debug "vars init"

Procedure CreateRenderer()
! var threerenderer = new THREE.WebGLRenderer();
! threerenderer.setSize( window.innerWidth, window.innerHeight );
! document.body.appendChild( threerenderer.domElement );
! return threerenderer;
EndProcedure

Procedure CreateScene()
  ! var threescene = new THREE.Scene();
  ! return threescene;
EndProcedure

Procedure CreateCamera()
  ! var threecamera = new THREE.PerspectiveCamera( 55, window.innerWidth / window.innerHeight, 0.1, 1000 );
  ! return threecamera;
EndProcedure

Procedure render(renderer, scene, camera)
;!  requestAnimationFrame( animate );
! v_renderer.render( v_scene, v_camera );
EndProcedure

Procedure CreateTorusKnot()
! var geometry = new THREE.TorusKnotGeometry( 9, 3, 44, 8 );
! var material = new THREE.MeshBasicMaterial( { color: 0xf0f0a0 } );
! var torusKnot = new THREE.Mesh( geometry, material );
! scene.add( torusKnot );
! return torusKnot;  
EndProcedure

Procedure Main(URL$, Success)
    Debug "Script URL: " + URL$
    Debug "Loading status: " + Success
    
    myrenderer = CreateRenderer()
    myscene    = CreateScene()
    mycamera   = CreateCamera()
    
    torus= CreateTorusKnot()
    
    render(myrenderer,myscene,mycamera)

EndProcedure

  
  LoadScript("js/three.js", @Main())
leider funktioniert absolut garnichts

kann mir wer starthilfe geben?
wie lege ich den renderer auf den sb-fullscreen?

wenn ich einmal gerafft hab, wie es geht, kann ich mir
den rest der funktionen selber ins spider wrappen

Re: three engine mit spider nutzen

Verfasst: 27.06.2022 20:52
von Kiffi

Re: three engine mit spider nutzen

Verfasst: 30.06.2022 15:18
von xperience2003
cool, danke.
es funktioniert , würde vielleicht noch wissen, wie man das im spider
screen benutzt, aber reicht erstmal zum durchstarten :)

Re: three engine mit spider nutzen

Verfasst: 30.06.2022 15:55
von Kiffi
<Vermutung>
Fred möchte sich mit Abschluss der Arbeiten an PB 6.0 ja wieder verstärkt um SB kümmern. Es wäre denkbar, dass er nun die 3D-Lib umsetzen wird.
</Vermutung>

Re: three engine mit spider nutzen

Verfasst: 11.03.2023 10:54
von xperience2003
die 3d lib wäre der gewinn für sb,

am besten einfach nur nen webgl wrapper und nen paar math befehlen, meshloader und texturen und shadern
vielleicht nochn paar fertig effekte eingebaut und das wars auch schon, was man wirklich braucht
niemand baut mit sb nen aaa-titel, aber kleine zwischendurch-games oder ne 3d-animierte website sollte das ziel sein

bei pure bin ich mit der ogreengine bis heute nicht grün, es gibt immer noch keinen vernünftigen konverter etc
(und nein blender benutze ich nicht), wenn die 3d gui an ist, wird der mauszeiger gefangen lol...das seit ewigkeiten

und wenn man mal so durch die jahre hier schaut, hand aufs herz, was wurde denn wirklich mal als
fertiges 3d-game rausgehauen und damit meine ich nicht die hunderten projekte die irgendwo privat schlummern,
sondern ganze fertige games unter pb-ogre

die meisten hier im forum die sich mit 3d befassen oder befasst haben, mich eingeschlossen, haben irgendwann
ne eigne engine oder nen wrapper für ne engine geschrieben und damit was gebaut

ich bin gespannt was das wird

Re: three engine mit spider nutzen

Verfasst: 11.03.2023 11:10
von Andre
[offtopic]
Ich selbst hab mit 3D-Programmierung auch nichts am Hut, kann daher auch nicht wirklich beurteilen, was PB OGRE kann oder nicht kann....
Und es ist sicher richtig, dass wir bisher wenig größere Projekte / Spiele mit Ogre3D bzw. überhaupt mit einer 3D-Engine gesehen haben. Aber es gibt da mindestens eine Ausnahme - auf die bin ich letztens im engl. Forum aufmerksam geworden: ein kommerzielles 3D-Spiel, laut Autor geschrieben mit PB5.22 und OGRE: Scavanger - mehr dazu hier https://www.purebasic.fr/english/viewto ... 14&t=71095
[/offtopic]

Re: three engine mit spider nutzen

Verfasst: 11.03.2023 11:21
von xperience2003
ging mir auch nicht drum die ogre ansich schlecht zu machen,
sondern eher den gedankenanstoss , was man wirklich braucht und eben auch
freds zeitaufwand und die pflege einer engine zu dem , was die benutzer dann
am ende wirklich gebrauchen können und eben auch damit machen

ps: das game sieht wirklich gut aus

Re: three engine mit spider nutzen

Verfasst: 11.03.2023 12:45
von Macros
Es gibt auch noch das Spiel Legend: Hand of God (2008) wobei man sagen muss, die Kritiken waren durchschnittlich und das Spiel ist schnell aus der Erinnerung verschwunden (und mittlerweile wohl auch aus den Stores)

Die Grafik allerdings sah richtig gut aus für die damalige Zeit.
Falls ihr bei GoG registriert seid, könnt ihr hier dafür stimmen, dass sie es aufnehmen.

Dass das Spiel in Ogre geschrieben wurde kann ich allerdings nicht garantieren. Man findet nur Infos über die sogenannte "Master Engine", eine Eigenentwicklung.

Ich vermute, dass es wenige Spiele gibt weil es einfach vergleichsweise wenige PureBasic Entwickler gibt. Mit der Ogre Engine selbst wurden schon viele große Titel umgesetzt. https://www.ogre3d.org/showcase