[Feature Request] Translating JavaScript classes to GLSL
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- javascript
- Ambito
- computer-graphics
Direzione di ricerca
Non vengono indicati file, test o punti di ingresso. Inizia individuando il supporto attuale di gpu.js per la traduzione da JavaScript a GLSL e determina se la sintassi delle classi, i costruttori, i metodi e le istanze rientrano nell’ambito. Il lavoro sarà completo quando saranno disponibili un design concordato e una traduzione funzionante per l’esempio di classe, insieme all’output GLSL equivalente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I recently discovered a simple way to translate JavaScript classes into GLSL., but I'm not sure if gpu.js can do this yet. This is a JavaScript class:
class Circle{
constructor(radius){
this.radius = 1;
}
area(){
return Math.PI*this.radius*this.radius;
}
}
In GLSL, the same class could be defined in this way:
#define PI 3.1415926538
struct Circle{
float radius;
};
Circle new(float radius){
Circle self; //"this" is a reserved word in GLSL, so "self" is used here instead
self.radius = 1.0;
return self;
}
float area(Circle self){
return PI*self.radius*self.radius;
}
And then an "instance" of the class can be initialized:
Circle anInstance = new(3.0);
float the_area = area(anInstance);
Since functions in GLSL can be overloaded, it would be possible to define constructors for multiple "classes" in this way.
- Lingua principale
- JavaScript
- Stelle
- 15.5k
- Fork
- 663
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di gpujs/gpu.js
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
-
WebGL backend silently returns all zeros for long-running kernels (no GL error, no context loss) Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 42/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
-
Bitwise result not correct Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
Tutte le issue di gpujs/gpu.js
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
TheOdinProject/curriculum#31423 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
WGBH-MLA/dream-aapb#69 ·
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 78/100
Mintplex-Labs/anything-llm#6490 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
openlayers/ol-cesium#1364 ·