使用 GLM 库实现 Vector3TransformNormal 和 Vector3TransformCoord 函数,模拟 DirectXMath 的行为,并使用 const T& 模板参数以支持多种向量类型。
Scanned 9/27/2026
npx -y skills add David-Li0406/meta-skill-evloving --skill 'glm-向量变换函数实现' --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Glm 向量变换函数实现?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/david-li0406-glm)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
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& 向量变换
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!