È possibile passare attributi personalizzati a uno shader di frammenti, so che posso passare attributi tramite GLES20.glVertexAttribPointer
allo shader di vertici, ma come posso passare un float [] allo shader di frammenti?Passa gli attributi personalizzati a uno shader di frammenti personalizzati
risposta
No.
Se si desidera passare uniformi per uno shader frammento, si può facilmente farlo (vedere alcun tutorial). Ma se vuoi qualcosa di simile agli attributi per vertice, non ha senso farlo. Quello che puoi fare è passare gli attributi allo shader del vertice, e poi nel vertex shader passarli allo shader del frammento come variazioni. Saranno interpolati sulla primitiva e forniti come input per lo shader del frammento.
La risposta di Tim è ovviamente corretta.
Una possibile soluzione sarebbe quella di memorizzare i valori float
in una trama 2D e passare le coordinate di trama (e il numero di valori) allo shader. Tuttavia, questo può diventare molto lento se si dispone di un numero elevato di valori float per vertice (a causa di tutte le ricerche di texture per frammento). Un altro problema è che questo genera trame molto grandi se si hanno molti vertici. Ad ogni modo, in alcuni casi questo approccio può essere utile.
- 1. Attributi personalizzati nei frammenti Android
- 2. GLKit's GLKBaseEffect e shader personalizzati
- 3. Attributi personalizzati in uno schema xsd
- 4. Come utilizzare shader personalizzati insieme a GLKit
- 5. Gli attributi personalizzati per Enum sono pericolosi?
- 6. Gli attributi personalizzati Android non vengono visualizzati
- 7. Attributi personalizzati Jquery
- 8. Gli attributi personalizzati sono OK in XHTML
- 9. Come impostare gli attributi personalizzati dei componenti personalizzati a livello di programmazione?
- 10. Aggiunta di attributi personalizzati a MSBuild Compito
- 11. Attributi personalizzati su ActionResult
- 12. Creazione di uno stile predefinito con attributi personalizzati
- 13. Attributi personalizzati di tipo array
- 14. Attributi su elementi HTML personalizzati
- 15. Come ottenere gli attributi personalizzati di un prodotto da WooCommerce
- 16. Aggiunta di attributi personalizzati usando mono.cecil?
- 17. Attributi personalizzati per allegati CouchDB
- 18. C# Attributi personalizzati dalle proprietà
- 19. Attributi di proprietà personalizzati in Objective-c
- 20. Attributi personalizzati in UiBinder Widget
- 21. Genera attributi personalizzati in check_box_tag
- 22. Passaggio di attributi personalizzati in Aurelia Component
- 23. Aggiunta di attributi personalizzati a un asp: controllo CheckBox
- 24. Come si impostano gli attributi HTML personalizzati nei moduli django?
- 25. PostSharp: Gli attributi personalizzati vengono rimossi quando si utilizza OnMethodInvocationAspect
- 26. Utilizzo di enum come attributi XML personalizzati
- 27. Ottieni attributi personalizzati del valore enum
- 28. Aggiunta di attributi personalizzati a asp.NET Controllo RadioButton
- 29. jQuery: Utilizzando l'attr con attributi personalizzati
- 30. Active Directory Profili utente personalizzati/Attributi?
Tim, questa risposta è scattata sul posto per me proprio come uniformi, attributi e variazioni lavorano insieme. Grazie! – Jackalope
L'interpolazione può essere controllata in qualche modo? In caso di una fonte di luce (torcia), ad esempio, non si desidera che la variazione causi un'evidenziazione nei triangoli utilizzati per ogni quadrato. Invece di un round O, si ottiene qualcosa come una O con un \ o/attraverso di esso, purtroppo. –