Voglio prendere un codice three.js e possibilmente convertirlo in un codice WebGL o preferibilmente OpenGL in modo da poterlo utilizzare in un programma stand-alone che sto sviluppando in Python. C'è un modo semplice per farlo?three.js in webGL in OpenGL
risposta
Per quanto ne so non c'è un modo semplice.
Anche se si sa OpenGL, dove "sapere" è quando si può fare praticamente qualsiasi operazione, dal rendering di una quantità enorme di vertici di eseguire texturing, illuminazione e mappatura ombra, ecc
Poi si può semplicemente andare a qualsiasi applicazione WebGL Three.js og.
Ecco un'applicazione Three.js come esempio.
allora si può solo visualizzare source dello script/WebGL Three.js. Dove puoi automaticamente dare un senso alla maggior parte di esso. Piace.
var geometry = new THREE.CubeGeometry(100, 200, 300);
Possiamo facilmente assumere il codice sopra creerebbe un cubo 3D in cui (100, 200, 300) = (width, height, length)
. Ora sappiamo che dobbiamo creare un nuovo VAO
e/o VBO
che calcoleremmo i vertici, e come possiamo vedere nell'esempio il cubo è strutturato, quindi sappiamo che abbiamo bisogno di memorizzare sia i vertici che le coordinate della trama all'interno del buffer.
Fondamentalmente è possibile leggere tutto in questo modo. Ecco alcuni altri esempi.
renderer.setSize(window.innerWidth, window.innerHeight);
Ovviamente, è necessario impostare la dimensione del display.
Anche Three.js è solo una build di librerie JavaScript in cima a WebGL.
Grande. Esiste una libreria su OpenGL (simile a three.js) che rende le cose più facili per i programmatori OpenGL? Non voglio passare molto tempo a fare cose in aereo OpenGL. La visualizzazione 3D dei miei risultati è appena il 20% del mio intero progetto e preferisco usare invece alcune librerie. – MostafaMV
Non seguo veramente quello che intendi, potresti spiegarlo meglio? – Vallentin
o beh sì, ci sono molti wrapper OpenGL e librerie di utilità. Anche se non capisco cosa intendi con "Non voglio passare molto tempo a fare cose in aereo OpenGL"? Bene, se non vuoi usare OpenGL per il rendering, prova a usare qualcos'altro. – Vallentin