generated from taichiCourse01/taichi_course_final_project
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path场景2.py
38 lines (38 loc) · 2.68 KB
/
场景2.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
34
35
36
37
38
from 光线追踪 import *
#场景2
v场景 = C场景()
v场景.f添加(C传送门组(
C传送门(t向量3(4.99, -1.01, -2), PI, c传送门蓝),
C传送门(t向量3(-3, -1.01, 2.99), 半PI, c传送门橙)
))
#房间1
v场景.f添加(C墙壁(t向量3(5, 0, -2), t向量2(4, 4), PI, c发光颜色, t向量3(1, 0.5, 0.5), E材质.e漫反射))
v场景.f添加(C墙壁(t向量3(3, 0, 0), t向量2(4, 4), 半PI, c发光颜色, t向量3(0.5, 1, 0.5), E材质.e漫反射))
v场景.f添加(C墙壁(t向量3(1, 0, -2), t向量2(4, 4), 0, c发光颜色, t向量3(0.5, 0.5, 1), E材质.e漫反射))
v场景.f添加(C墙壁(t向量3(3, 0, -4), t向量2(4, 4), -半PI, c发光颜色, t向量3(1, 1, 0.5), E材质.e漫反射))
v场景.f添加(C地板(t向量3(3, -2, -2), t向量2(4, 4), c发光颜色, t向量3(0.8, 0.8, 0.8), E材质.e漫反射, a天花板 = False))
v场景.f添加(C地板(t向量3(3, 1.99, -2), t向量2(1, 1), c发光颜色, t向量3(10, 10, 10), E材质.e光源, a天花板 = True, a碰撞 = False)) #光
v场景.f添加(C地板(t向量3(3, 2, -2), t向量2(4, 4), c发光颜色, t向量3(0.8, 0.8, 0.8), E材质.e漫反射, a天花板 = True))
#房间2
v场景.f添加(C墙壁(t向量3(-1, 0, 1), t向量2(4, 4), PI, c发光颜色, t向量3(0.5, 0.5, 1), E材质.e漫反射))
v场景.f添加(C墙壁(t向量3(-3, 0, 3), t向量2(4, 4), 半PI, c发光颜色, t向量3(1, 1, 0.5), E材质.e漫反射))
v场景.f添加(C墙壁(t向量3(-5, 0, 1), t向量2(4, 4), 0, c发光颜色, t向量3(1, 0.5, 0.5), E材质.e漫反射))
v场景.f添加(C墙壁(t向量3(-3, 0, -1), t向量2(4, 4), -半PI, c发光颜色, t向量3(0.5, 1, 0.5), E材质.e漫反射))
v场景.f添加(C地板(t向量3(-3, -2, 1), t向量2(4, 4), c发光颜色, t向量3(0.8, 0.8, 0.8), E材质.e漫反射, a天花板 = False))
v场景.f添加(C地板(t向量3(-3, 2, 1), t向量2(4, 4), c发光颜色, t向量3(0.8, 0.8, 0.8), E材质.e漫反射, a天花板 = True))
#物体
v场景.f添加(C球体(a位置 = t向量3(3, 0, -2), a半径 = 0.4, a发光颜色 = c白, a反射颜色 = t向量3(0.99, 0.99, 0.99), a材质 = E材质.e折射, a速度 = t向量3(1, 0, 0)))
#其它
v相机 = C相机(t向量3(-4, 1, -6), t向量3(0, 0, 0), t向量3(0, 1, 0))
v投影 = C透视投影(c宽高比w)
v投射 = f创建光线投射器(v相机, v投影)
v目标 = C渲染目标(*c窗口尺寸w)
v物理参数 = C物理参数(a重力加速度 = 1)
v物理计算 = C物理(v场景, v物理参数)
# v染色 = C染色_物体颜色()
v染色 = C染色_光线追踪()
v渲染 = C渲染(v目标, v场景, v投射, v染色, a采样数 = 32)
v输出 = C窗口(v目标)
# v输出 = C视频(v目标, r"E:\test\scene2", 60*60*5)
v总控 = C总控(v物理计算, v渲染, v输出)
v总控.f运行()