def __init__(self): configuration = self.Configuration() configuration.title = "Magnum Python Primitives + SceneGraph Example" platform.Application.__init__(self, configuration) gl.Renderer.enable(gl.Renderer.Feature.DEPTH_TEST) gl.Renderer.enable(gl.Renderer.Feature.FACE_CULLING) # Scene and drawables self._scene = Scene3D() self._drawables = scenegraph.DrawableGroup3D() # Camera setup camera_object = Object3D(self._scene) camera_object.translate(Vector3.z_axis(10.0)) self._camera = scenegraph.Camera3D(camera_object) self._camera.projection_matrix = Matrix4.perspective_projection( fov=Deg(35.0), aspect_ratio=1.33333, near=0.01, far=100.0) # Cube object and drawable self._cube = Object3D(self._scene) self._cube.rotate_y(Deg(40.0)) self._cube.rotate_x(Deg(30.0)) self._cube_drawable = CubeDrawable( self._cube, self._drawables, meshtools.compile(primitives.cube_solid()), shaders.Phong(), Color3.from_hsv(Deg(35.0), 1.0, 1.0))
def __init__(self): configuration = self.Configuration() configuration.title = "Magnum Python Primitives Example" platform.Application.__init__(self, configuration) gl.Renderer.enable(gl.Renderer.Feature.DEPTH_TEST) gl.Renderer.enable(gl.Renderer.Feature.FACE_CULLING) self._mesh = meshtools.compile(primitives.cube_solid()) self._shader = shaders.Phong() self._transformation = ( Matrix4.rotation_x(Deg(30.0)) @ Matrix4.rotation_y(Deg(40.0))) self._projection = (Matrix4.perspective_projection( fov=Deg(35.0), aspect_ratio=1.33333, near=0.01, far=100.0) @ Matrix4.translation(Vector3.z_axis(-10.0))) self._color = Color3.from_hsv(Deg(35.0), 1.0, 1.0)
def test_solid(self): a = primitives.cube_solid() self.assertEqual(a.primitive, MeshPrimitive.TRIANGLES) self.assertTrue(a.is_indexed)
def test_3d(self): a = meshtools.compile(primitives.cube_solid()) self.assertEqual(a.primitive, gl.MeshPrimitive.TRIANGLES) self.assertEqual(a.count, 36)