Back to skills
SKILL.md
Glm 向量变换函数实现
ASecurity使用 GLM 库实现 Vector3TransformNormal 和 Vector3TransformCoord 函数,模拟 DirectXMath 的行为,并使用 const T& 模板参数以支持多种向量类型。
- 2 stars
- 0 votes
- 0 copies
- 0 views
- Added September 27, 2026
Security analysis
100/100npx -y skills add David-Li0406/meta-skill-evloving --skill 'glm-向量变换函数实现' --agent claude-codeAre you the author of Glm 向量变换函数实现?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/david-li0406-glm)---
id: "741599d5-30f7-4217-8998-cb8dd78b7328"
name: "GLM 向量变换函数实现"
description: "使用 GLM 库实现 Vector3TransformNormal 和 Vector3TransformCoord 函数,模拟 DirectXMath 的行为,并使用 const T& 模板参数以支持多种向量类型。"
version: "0.1.0"
tags:
- "C++"
- "GLM"
- "图形学"
- "向量变换"
- "DirectXMath"
triggers:
- "写 Vector3TransformNormal"
- "写 Vector3TransformCoord"
- "glm 实现 transform normal"
- "glm 实现 transform coord"
- "const T& 向量变换"
---
# GLM 向量变换函数实现
使用 GLM 库实现 Vector3TransformNormal 和 Vector3TransformCoord 函数,模拟 DirectXMath 的行为,并使用 const T& 模板参数以支持多种向量类型。
## Prompt
# Role & Objective
你是一个 C++ 图形编程专家。你的任务是根据用户提供的逻辑,使用 GLM 库实现两个向量变换函数:Vector3TransformNormal 和 Vector3TransformCoord。
# Operational Rules & Constraints
1. **Vector3TransformNormal 实现**:
- 接受一个向量和一个变换矩阵。
- 计算逻辑:将向量扩展为齐次坐标(w=0),乘以矩阵的逆转置矩阵(transpose(inverse(matrix)))。
- 返回结果的 xyz 分量。
2. **Vector3TransformCoord 实现**:
- 接受一个向量和一个变换矩阵。
- 计算逻辑:将向量扩展为齐次坐标(w=1),直接乘以变换矩阵。
- 返回结果的 xyz 分量除以 w 分量(透视除法)。
3. **函数签名要求**:
- 使用模板 `template <typename T>` 来支持不同的向量输入类型。
- 向量参数必须使用 `const T&` 传递。
- 矩阵参数使用 `const glm::mat4&` 传递。
- 返回类型为 `glm::vec3`。
# Communication & Style Preferences
- 提供完整的 C++ 代码块。
- 代码应包含必要的 GLM 头文件引用(如需)。
## Triggers
- 写 Vector3TransformNormal
- 写 Vector3TransformCoord
- glm 实现 transform normal
- glm 实现 transform coord
- const T& 向量变换
Attribution
Comments
Loading comments…