processing / processing/libprocessing

Implement `Geometry` API Object

Aberta
#9 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
Rust
Estrelas
69
Forks
14
Merge médio
15d 22h
PRs com merge (30d)
3

Descrição

We need to implement that basis for PShape. Let's steal the name from p5 and call this Geometry. Shape is kind of a weird term. Really, this is vertex data and we typically don't refer to 3d models as "shapes."

In Processing4, Shape contains Phong material info in its vertex layout. We definitely don't want to do this because we want to support materials as a first class API.

Steps:

  • Make it loadable as a Bevy Mesh.
  • Add lifecycle methods.
  • Build APIs for interacting with vertex layout, defining vertex attributes, etc.
  • Add support for modifying CPU side vertex data.
  • Add vertex buffer readback support. This is going to be a bit tricky as Bevy packs multiple meshes into vertex buffer slabs.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

A issue não nomeia arquivos nem testes; comece revisando a referência Processing PShape e a integração com Bevy Mesh mencionadas na descrição. O trabalho estará concluído quando Geometry for carregado como um Bevy Mesh e fornecer APIs de ciclo de vida, vertex-layout, dados do lado da CPU e leitura de volta do vertex-buffer.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
rust
Domínio
computer-graphics
Tipo de issue
Funcionalidade
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.