пятница, 18 марта 2016 г.

интересное расширение obj

в http://www.kixor.net/dev/objloader/ предложили расширение формата obj для raytracing
Sphere (non-standard):
Spheres are defined with a position vertex and two normals: one for the up normal and one for the equator normal. The length of either normal can be chosen for the sphere radius.
v 10 10 10
vn 1 0 0
vn 1 0 0
sp 1 1 2
Plane (non-standard):
Planes are defined with a position vertex and two normals: one for the rotation normal and one for the plane normal.
v 0 0 -10
vn 0 0 1
vn 1 0 0
pl 1 1 2
Light, point (non-standard):
A simple point light source. Use a material definition to set the output values.
v 10 50 0
lp 1
Light, quad (non-standard):
A 4 cornered area light.
v 0 50 0
v 10 50 0
v 10 50 10
v 0 50 10
lq 1 2 3 4
Light, disc (non-standard):
A disc-shaped arealight source. The normal specifies the direction and size of the disc.
v 0 50 0
vn 0 -1 0
ld 1 1
Camera (non-standard):
Used to define a simple camera. The 2 vertices define the camera position and the point the camera is focusing on. The normal defines the up vector.
v 0 0 -20
v 0 5 5
vn 0 1 0
c 1 2 1
принцип такой - описываются вершины, нормали, а потом выясняется что это описывали камеру и вершины изымаются из общего буфера вершин и нормалей и превращаются в описываемый обьект

также есть расширение mtl
r 0.5            # reflection amount (non-standard)
воплощу в своём рендере

Комментариев нет:

Отправить комментарий