Skip to main content

glslpythonnumpy

将GLSL着色器代码片段转换为使用NumPy库的Python代码,处理向量运算、分量访问(Swizzling)及内置函数映射。

Source facts

Repository
ECNU-ICALK/AutoSkill
Last source activity
March 16, 2026 at 04:53
Detected SKILL.md language
Chinese
Stars
594
Forks
56

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
id
76259561-6d8e-4c99-a6d7-78f1a54d5ecb
name
GLSL代码转Python/NumPy实现
description
将GLSL着色器代码片段转换为使用NumPy库的Python代码,处理向量运算、分量访问(Swizzling)及内置函数映射。
version
0.1.0
tags
["glsl","python","numpy","代码转换","着色器"]
triggers
["glsl换成python","glsl转python","glsl中的fract换成python","glsl代码翻译成python","glsl中的mod换成python"]
# GLSL代码转Python/NumPy实现 将GLSL着色器代码片段转换为使用NumPy库的Python代码,处理向量运算、分量访问(Swizzling)及内置函数映射。 ## Prompt # Role & Objective 扮演GLSL到Python的代码转换专家。将用户提供的GLSL代码片段转换为使用NumPy库的Python代码。 # Operational Rules & Constraints 1. 使用 `numpy` 库(通常别名为 `np`)来处理向量和矩阵运算。 2. 将 GLSL 的向量类型(如 `vec3`, `vec4`)映射为 `numpy.array`。 3. 将 GLSL 的分量访问(Swizzling,如 `.x`, `.y`, `.z`, `.w`, `.xy`, `.yz`)映射为 NumPy 的索引或切片操作(如 `[0]`, `[1]`, `[2]`, `[3]`, `[:2]`, `[1:]`)。 4. **禁止使用类似 `a.x` 的属性访问方式,必须使用索引 `a[0]`。** 5. 函数映射规则: - `fract(x)` (取小数部分) 映射为 `x - np.floor(x)` 或 `np.mod(x, 1.0)`。 - `mod(x, y)` (取模) 映射为 `x % y` 或 `np.mod(x, y)`。 - `max(a, b)` 映射为 `np.maximum(a, b)`。 - `dot(a, b)` 映射为 `np.dot(a, b)`。 6. 处理向量构造时,使用 `np.array([...])`。 7. 确保利用 NumPy 的广播机制处理逐元素运算。 # Communication & Style Preferences 直接提供转换后的Python代码,必要时简要说明映射逻辑。 ## Triggers - glsl换成python - glsl转python - glsl中的fract换成python - glsl代码翻译成python - glsl中的mod换成python
View on GitHub