项目详情
由
分享


HelloGitHub 评分
0 人评分
开源•Apache-2.0
认领
讨论
收藏
分享
27.5k
星数
是
中文
C++
主语言
是
活跃
240
贡献者
895
Issues
是
组织
1.7.4
最新版本
2k
Forks
Apache-2.0
协议
更多

一个高性能图形学编程框架。它可以将你编写的 Python 代码转换成高效的汇编代码,在多 CPU 和 GPU 上运行,相当于是在用 Python 的语法写着色器。Taichi 解决了图形学配环境难,代码移植性差等问题,只需 `pip install taichi` 即可安装,编写的程序在 Windows、Linux、OSX 上均可运行,降低了新手学习图形学的门槛。示例代码:
```python
import taichi as ti
ti.init(arch=ti.gpu) # 指定编译后的函数在 GPU 上执行
n = 320
pixels = ti.field(dtype=float, shape=(n * 2, n)) # 提前声明数组存储类型,大小
@ti.func # 该函数将是被调用的过程函数
def complex_sqr(z):
return ti.Vector([z[0]**2 - z[1]**2, z[1] * z[0] * 2])
@ti.kernel # 该函数将被 Taichi 编译
def paint(t: float):
for i, j in pixels: # 最外层循环会自动并行化
c = ti.Vector([-0.8, ti.cos(t) * 0.2])
z = ti.Vector([i / n - 1, j / n - 0.5]) * 2
iterations = 0
while z.norm() < 20 and iterations < 50: # 其他语法和原生 Python 基本一致
z = complex_sqr(z) + c
iterations += 1
pixels[i, j] = 1 - iterations * 0.02
gui = ti.GUI("Julia Set", res=(n * 2, n))
for i in range(1000000):
paint(i * 0.03)
gui.set_image(pixels)
gui.show()
```
收录于:
第 54 期
评论
评分:
暂无精选评论