[fpc-pascal] Next language feature for pas2js...
Ryan Joseph
ryan at thealchemistguild.com
Tue May 1 11:59:39 CEST 2018
> On May 1, 2018, at 4:37 PM, Michael Van Canneyt <michael at freepascal.org> wrote:
>
> What's wrong with the above code ?
>
> It obviously works well enough, otherwise they wouldn't have made the API so.
>
> The float32 array is a Javascript type that encapsulates a memory buffer.
> I assu
It’s difficult to work with. With OpenGL what you have is a record with all the fields that are the data for vertex (positions, colors, normals etc…) and you tell OpenGL at what offset and stride the data starts. If you use to just array literals like that it would be very messy.
void vertexAttribPointer(GLuint index, GLint size, GLenum type,
GLboolean normalized, GLsizei stride, GLintptr offset);
That’s what I would expect not using WebGL before. Getting that down to typed arrays using wrapper functions would be a mess though. Ouch. No idea how that’s supposed to look in WebGL.
// array of TVertex
[
// vertex 1
[
[0, 0], // position (vec2f)
[255, 255, 255], // color (vec4b)
[0, 1], // texture coord (vec2f)
],
// vertex 2
[
[0, 0], // position (vec2f)
[255, 255, 255], // color (vec4b)
[0, 1], // texture coord (vec2f)
],
// vertex 3
[
[0, 0], // position (vec2f)
[255, 255, 255], // color (vec4b)
[0, 1], // texture coord (vec2f)
]
]
type
TVertex = record
pos: TVec2f;
color: TVec4b;
texCoord: TVec2f;
end;
verts: array[0..2] of TVertex;
The parser could break down records into those arrays but it would be complicated I suspect.
Regards,
Ryan Joseph
More information about the fpc-pascal
mailing list