-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unificar métodos de las geometrías #71
Comments
Por ahora el comportamiento y estado interno que vi en todas las geometrias fue: public bool AlphaBlend { get; set; }
public TGCVector3 Position { get; set; }
public TGCVector3 Up { get; set; }
public TGCVector3 Right { get; set; }
public TGCVector3 Rotation { get; set; }
public TGCVector3 Scale { get; set; }
public TGCMatrix Transform { get; set; }
public abstract void Init(); // Podria no estar ya que muchas lo hacen en su constructor, pero podria ordenar.
public abstract void Update();
public abstract void Render();
public abstract void Dispose(); |
@DNAngeluS @Javier-Rotelli @mysery que opinan? |
tengo que mirarlo mejor, pero a priori me parece que esos metodos deberian subir a la superclase |
Claro @Javier-Rotelli esos son lo que vi que deberian ir en la super clase, salvo que detecten algo que este conceptualmente incorrecto en alguna geometria me parece que se imprime asi jaja. |
Creo que todas deberian implementar un Init, sacaria los constructores raros que hay. |
Hace falta tener el Front? no sale de up y right? o mejor tenerlo asi se evita una operación? |
mejor tenerlo para no hacer el crossproduct cada vez que se quiere. de
ultima se pueden calcular al inicio.
2017-07-29 19:25 GMT-03:00 René Juan Rico Mendoza <[email protected]>
:
… Hace falta tener el Front? no sale de up y right? o mejor tenerlo asi se
evita una operación?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#71 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACyX9lZ6zwVlpubYrt027An1okxxt2ktks5sS7FogaJpZM4Nf8xk>
.
|
Retomando 😋 deberiamos agregar tambien public TGCVector3 Front { get; set; }
public Color Color { get; set; }
public Effect Effect { get; set; }
public string Technique { get; set; } a lo que puse arriba? |
o efecto y tecnica deberia ir en IRender? #76 |
Se agregaron todos los Shaders del Worshop de @mbanquiero que faltaban, pero por ahora se adaptaron 4, el resto de adapto bastante pero aun no andan (no estan agregaron al proyecto pero si en el repo). Se hizo refactor de todos los HLSL y se migraron todos a V3. Se avanzo un poco con TGCGeometry.
Se agregaron todos los Shaders del Worshop de @mbanquiero que faltaban, pero por ahora se adaptaron 4, el resto de adapto bastante pero aun no andan (no estan agregaron al proyecto pero si en el repo). Se hizo refactor de todos los HLSL y se migraron todos a V3. Se avanzo un poco con TGCGeometry.
Esto quedo en un limbo o se puede agarrar? https://memegenerator.net/img/instances/14804138/que-mierda-es-esto-lo-puedo-romper.jpg |
Quedo en la discusión que lees acá jaja quería llegar a un consenso antes de hacerlo así opinábamos todos pero como veras... nunca paso. Si tenes una idea de que onda podemos verlo 😉. |
Basicamente y revisando que metodos hay en las geometrias encontre esto (sumado a lo que se venia hablando en el issue) : ` public abstract void Init(); //O dejamos el init o los constructors no tiene mucho sentido las dos cosas Hay una clase abstracta "TGCGeometry" que ya tiene la unificacion de metodos, pero nunca se usa en ninguna geometria. |
Claro esa es la clase que cree con las cosas que fueron saliendo de acá pero no hice que la implementaran las geometrías hasta tener algo mas fundamentado, por ejemplo que rol juega irender? |
A lo que voy, es si por ejemplo tiene sentido el concepto de una geometría que no se pueda hacer render #76 |
Entonces, en ese caso sería mas lógico que los métodos relacionados con hacer render de una geometría esten dentro de IRenderObject y no en TGCGeometry. Que una geometría no haga render no tiene mucho sentido, solo si estas buscando hacer una optimización pero lo manejas del lado de la lógica de la aplicación no del lado de una geometria. Basicamente IRender tiene pinta de que deberia tener esto: public bool AlphaBlendEnable { get; set; } //public abstract void Init(); Pensandolo mejor es ideal que cada geometria tenga su propio constructor en vez de un Init() |
Supongo que lo de enable es por si tenes una escena y a todos los objetos render los queres hacer render y cada uno internamente saber si tiene que mostrarse o no. Recordá que también tenemos la interfaz ITransform 😝 #72 y hay cosas que son de ahí y no del IRender 😄 |
Hay muchas propiedades y métodos que debería estar en una súper clase.
The text was updated successfully, but these errors were encountered: