Rust-GPU / Rust-GPU/rust-gpu

[Migrated] Operator Overlaoding support

Ouverte
#57 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Rust
Étoiles
3.4k
Forks
126
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Issue automatically imported from old repo: https://github.com/EmbarkStudios/rust-gpu/issues/1149
Old labels: t: enhancement
Originally creatd by Makogan on 2024-05-01T21:25:10Z


Currently, it seems that rustgpu does not support operator overloading (there is no ops module under spirv_std, and none of the examples seem to do this).

This is useful because although linear algebra is the most popular mathematical representation for transformations in computer graphics, it is not the only option.

For example, I currently use projective geometric algebra for skin animations. To do this I need to define a multivector type on the shader that is capable of addition, multiplication, scalar multiplication...

Of course, one can work around the issue by defining methods, but this is less ergonomic than having operators.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par inspecter la zone spirv_std, en particulier l’absence signalée d’un module ops, et comparez les exemples existants concernant l’utilisation des opérateurs. Ce sera terminé lorsque les types de shader personnalisés pourront utiliser des opérateurs tels que l’addition, la multiplication et la multiplication scalaire, au lieu de nécessiter des solutions de contournement fondées sur des méthodes.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
rust
Domaine
compilers
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.