@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
42 lines • 2.53 kB
JavaScript
/**
* 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=