generated from taichiCourse01/taichi_course_final_project
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path场景0.py
33 lines (33 loc) · 2.31 KB
/
场景0.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from 光线追踪 import *
#测试场景
v场景 = C场景()
v场景.f添加(C传送门组(
C传送门(t向量3(1.99, 0, 0), PI, c传送门蓝),
# C传送门(t向量3(1, 0, 2), 半PI, c传送门蓝),
C传送门(t向量3(0, -0.99, 1.99), 半PI, c传送门橙)
))
v场景.f添加(C墙壁(t向量3(2, 0, 0), t向量2(4, 4), PI, c发光颜色, t向量3(1, 0.5, 0.5), E材质.e漫反射))
v场景.f添加(C墙壁(t向量3(0, 0, 2), t向量2(4, 4), 半PI, c发光颜色, t向量3(0.5, 1, 0.5), E材质.e漫反射))
v场景.f添加(C墙壁(t向量3(-2, 0, 0), t向量2(4, 4), 0, c发光颜色, t向量3(0.5, 0.5, 1), E材质.e漫反射))
v场景.f添加(C墙壁(t向量3(0, 0, -2), t向量2(4, 4), -半PI, c发光颜色, t向量3(1, 1, 0.5), E材质.e漫反射))
v场景.f添加(C地板(t向量3(0, -2, 0), t向量2(4, 4), c发光颜色, t向量3(0.8, 0.8, 0.8), E材质.e漫反射, a天花板 = False))
v场景.f添加(C地板(t向量3(0, 1.99, 0), t向量2(1, 1), t向量3(10, 10, 10), c反射颜色, E材质.e光源, a天花板 = True, a碰撞 = False)) #光
v场景.f添加(C地板(t向量3(0, 2, 0), t向量2(4, 4), c发光颜色, t向量3(0.8, 0.8, 0.8), E材质.e漫反射, a天花板 = True))
v场景.f添加(C球体(a位置 = t向量3(0, -1, 0), a半径 = 0.4, a发光颜色 = c发光颜色, a反射颜色 = t向量3(0.99, 0.99, 0.99), a材质 = E材质.e镜面反射, a速度 = t向量3(0, 0, 1)))
v场景.f添加(C球体(a位置 = t向量3(0, 0, 1), a半径 = 0.4, a发光颜色 = c发光颜色, a反射颜色 = t向量3(1, 0.9, 0.9), a材质 = E材质.e折射, a速度 = t向量3(0, 0, 0.5)))
v相机 = C相机(t向量3(-3, 1, -5), t向量3(0, 0, 0), t向量3(0, 1, 0))
# v相机 = C相机(t向量3(3, -2, 3), t向量3(0, 0, 0), t向量3(0, 1, 0))
v投影 = C透视投影(c宽高比)
# v投影 = C正交投影(c宽高比 * 6, 6)
v投射 = f创建光线投射器(v相机, v投影)
v目标 = C渲染目标(*c窗口尺寸)
v物理参数 = C物理参数(a重力加速度 = 1)
v物理计算 = C物理(v场景, v物理参数)
# v染色 = C染色_物体颜色()
# v染色 = C染色_朗伯反射(t向量3(0, 2, 0))
v染色 = C染色_光线追踪()
v渲染 = C渲染(v目标, v场景, v投射, v染色, a采样数 = 16)
v输出 = C窗口(v目标)
# v输出 = C视频(v目标, r"E:\test\scene0", 3600)
v总控 = C总控(v物理计算, v渲染, v输出)
v总控.f运行()