Closed neozhaoliang closed 2 years ago
谢谢issue. 1.那个球面采样函数是weekend里面写的,当时确实感觉是错的,回头改改 2.ray的struct_class的构造函数造成了很大的麻烦,不清楚如何在构造ray类的同时,自动调通构造函数。目前已经将ray类修改为struct_class尝试了用@ti.func修饰构造函数,但是无法调用。
已经放到外部了,感谢
你试试这样:
import taichi as ti
from taichi.math import vec3
ti.init()
vec3_t = ti.types.vector(3, float)
@ti.struct_class
class Ray:
ro: vec3_t
rd: vec3_t
@ti.func
def at(self, t):
return self.ro + self.rd * t
@ti.kernel
def main():
ray = Ray(ro = vec3(0), rd = vec3(1))
print(ray.ro, ray.rd)
main()
这个taichi.math自带的vec3雀食方便,每次创建vector的时候,按小数点总是误触逗号,这下省事了。谢谢茄子
不要在 Ray 内部做 normalize 了,放到外面做。