예제 #1
0
파일: lib3dworld.py 프로젝트: Jak23/modular
	def __init__(self, x, y, z, parent = None, 
					target = cgt.vec3([.5,.5,.5]), 
					ortho = True, zoom = 30):
		#lgl._culling()
		self.shader = lgl.get_shader()
		self.light = light(x, y, z, shader = self.shader)
		self.material = lgl.material()
		world_object.__init__(self, x, y, z, parent = parent, 
			shader = self.shader, children = [self.light])
		self._draw_origin_ = False
		self.ortho = ortho
		self.zoom_initial = zoom
		self.zoom_ = self.zoom_initial

		self.znear = 0.001
		self.zfar = 1000.0

		self.location_initial = self._get_position_()
		self.target_initial = target
		self.location = cgt.vec3(self.location_initial)
		self.target = cgt.vec3(self.target_initial)

		self.select_ = None
		self.selectables = []

		self.roll = 0
		self.pitch = 0
		self.yaw = 0

		self.view_regimes = ['first person', 'arc ball']
		self.view_regime = self.view_regimes[1]
		self.view_callbacks = {
			'first person':self.get_basis_first_person, 
			'arc ball':self.get_basis_arc_ball, 
			}

		self._view_matrix_ = lm.identity_mat(4).flatten()
		self._projection_matrix_ = lm.identity_mat(4).flatten()
		self._normal_matrix_ = lm.identity_mat(3).flatten()
		self._mvp_matrix_ = lm.identity_mat(4).flatten()
		self.update_transforms()
예제 #2
0
파일: lib3dworld.py 프로젝트: Jak23/modular
	def __init__(self, x = 0, y = 0, z = 0, shader = None):
		self.material = lgl.material(shininess = 0.01, 
					dif_refl = cgt.vec3([0.9,0.1,0.1]), 
					amb_refl = cgt.vec3([0.9,0.1,0.1]))
		world_object.__init__(self, x, y, z, shader = shader)
		self._set_geometry_()