UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

42 lines 2.53 kB
/** * Transform a vertex coords from world space to camera space. */ export function tgdCodeFunction_vertexFromWorldToCamera({ name = "vertexFromWorldToCamera", uniModelViewMatrix = "uniModelViewMatrix", } = {}) { return { [`${name}:vec3`]: `vec4 ${name}(vec3 vertex) { return ${uniModelViewMatrix} * vec4(vertex, 1.0); } `, [`${name}:vec4`]: `vec4 ${name}(vec4 vertex) { return ${uniModelViewMatrix} * vertex; } `, }; } /** * Transform a mormal coords from world space to camera space. */ export function tgdCodeFunction_normalFromWorldToCamera({ name = "normalFromWorldToCamera", uniModelViewMatrix = "uniModelViewMatrix", } = {}) { return { [name]: `vec3 ${name}(vec3 normal) { return mat3(${uniModelViewMatrix}) * normal; } `, }; } /** * Transform a vertex coords from world space to camera space. */ export function tgdCodeFunction_vertexFromWorldToScreen({ name = "vertexFromWorldToScreen", uniModelViewMatrix = "uniModelViewMatrix", uniProjectionMatrix = "uniProjectionMatrix", } = {}) { return { [`${name}:vec3`]: `vec4 ${name}(vec3 vertex) { return ${uniProjectionMatrix} * ${uniModelViewMatrix} * vec4(vertex, 1.0); } `, [`${name}:vec4`]: `vec4 ${name}(vec4 vertex) { return ${uniProjectionMatrix} * ${uniModelViewMatrix} * vertex; } `, }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZS9zcGFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sVUFBVSx1Q0FBdUMsQ0FBQyxFQUNwRCxJQUFJLEdBQUcseUJBQXlCLEVBQ2hDLGtCQUFrQixHQUFHLG9CQUFvQixNQUl6QyxFQUFFO0lBQ0YsT0FBTztRQUNILENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxFQUFFLFFBQVEsSUFBSTthQUN6QixrQkFBa0I7O0NBRTlCO1FBQ08sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsUUFBUSxJQUFJO2FBQ3pCLGtCQUFrQjs7Q0FFOUI7S0FDSSxDQUFBO0FBQ0wsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHVDQUF1QyxDQUFDLEVBQ3BELElBQUksR0FBRyx5QkFBeUIsRUFDaEMsa0JBQWtCLEdBQUcsb0JBQW9CLE1BSXpDLEVBQUU7SUFDRixPQUFPO1FBQ0gsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLElBQUk7a0JBQ1Ysa0JBQWtCOztDQUVuQztLQUNJLENBQUE7QUFDTCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsdUNBQXVDLENBQUMsRUFDcEQsSUFBSSxHQUFHLHlCQUF5QixFQUNoQyxrQkFBa0IsR0FBRyxvQkFBb0IsRUFDekMsbUJBQW1CLEdBQUcscUJBQXFCLE1BSzNDLEVBQUU7SUFDRixPQUFPO1FBQ0gsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsUUFBUSxJQUFJO2FBQ3pCLG1CQUFtQixNQUFNLGtCQUFrQjs7Q0FFdkQ7UUFDTyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsRUFBRSxRQUFRLElBQUk7YUFDekIsbUJBQW1CLE1BQU0sa0JBQWtCOztDQUV2RDtLQUNJLENBQUE7QUFDTCxDQUFDIn0=