On Fri, 18 Mar 2011 18:34:19 +0200, lenochware <lenochw...@gmail.com>
wrote:
Hello, I have array of type vertex_t vertices[] where vertex_t is:
struct vertex_t {
float[3] xyz;
ubyte[4] color;
...
}
Now, I would like use instead of array "float[3] xyz" "vec3f xyz", where
vec3f is:
struct vec3f {
float x, y, z;
...some functions...
}
where I have defined some operators for adding and multipliing vectors
etc.
Is it possible? "xyz" must be exactly 3 floats in memory because I am
sending
vertices array pointer into OpenGL rendering pipeline.
Will be struct vec3f represented just like 3 floats - aren't here some
additional metadata - because structure contains also some functions?
My additional question: What about effectivity? I would like keep struct
vertex_t as simple as possible, because I need do calculations fast.
Will have
replacing float array to structure some impact on speed?
Thank you.
D struct is POD.
If you replace it with a struct, the speed is up to you since an array
implementation might use cpu specific extensions.