Going VVVVorward

for me it’s looks like we need enable pin on transform!
it’s main consumer, and with s+h you have to handle each pin
but disable transform will save half s+h space
if you disable shader transform will still consume

devvs pls do transform enable/disable pin
p.s. transform (3d vector) pls hehe p.s.s. SSE hehe

@sugokuGENKI

Indeed for float 16 is the aligment, the size is 32 bits.

Alignment makes sure the starting point in memory is a multiple of 16, so you can use __mm_load_ps (very fast) to load 4 floats in a sse register.
If data is not aligned you need to use __mm_loadu_ps, which is very slow and ruins the point of using simd (at least for simple operations).

Without sse i hardly see any performance difference float/doubles, apart the obvious fact that float takes half the space, so memory copies (cpu<>cpu) or (cpu<>gpu) are faster (since you also don’t need to cast)

Using intrisics indeed in vc++ (mm_ functions withm128 datatype), since the compiler seems crap at optimizing itself (even with /O2 and /arch:SSE2)

Inheritance in types is very cool indeed, would reduce a lot the number of nodes (specially vector join/cons for example). I often need cons for things like box2d, so means you need cons for roughly every box2d type for example.

You also run into some problem to be addressed in that case:
-Let’s say you have a Box/Circle class which inherits from Shape.
-You create a Cons (Spreads Generic)
-You connect a Box type pin, but does Cons should take Box or Shape? (since you might want to send a list of shapes to a hittest, or just cons only Boxes for display. So would need serious thinking on how to allocate type.

mm why can’t we split it later? mesh, transform, hit, costum
guess mesh is really slow in that case…