root/test/loadmodel.py

Revision 342, 3.1 kB (checked in by mihai.maruseac, 16 months ago)

Inceput CDL final

Line 
1import sys
2import traceback
3import pyglet
4from pyglet.gl import *
5sys.path.insert(0, "../trunk/hfall")
6sys.path.insert(0, "../trunk/hfall/UI")
7sys.path.insert(0, "../trunk/hfall/Engine")
8sys.path.insert(0, "../trunk/hfall/Parser")
9import ctypes
10import array
11import base
12import OGLbase
13from UI import * 
14import Render
15import AddModel
16import Mesh
17import Model
18import ModelLoader
19import MaterialManager
20import ModelManager
21import TextureManager
22import Bitmap
23import Light
24import Terrain
25import math
26from base import kernel as hfk
27
28class drawer(base.Task):
29    def __init__(self):
30        self._vertexes = []
31        self._faces = []
32        # self.mesh = []
33        # self.materialmng = None
34        # self.modelmng = None
35        # self.texturemng = None
36        # self.model = None
37        # self.Loader = None
38        pass
39
40    def start(self, kernel):
41        kernel.log.msg("Drawer started");
42
43        AddModel.init(render)
44        # creature = AddModel.add_model("models/creature.3ds", [0, 0, -20, 1])
45        # AddModel.scale_model(creature, [18.0, 18.0, 18.0])
46
47        #atrium = AddModel.add_model("models/atrium.3ds")
48        #AddModel.scale_model(atrium, [0.1, 0.1, 0.1])
49
50##        light1 = Light.Spotlight( GL_LIGHT1, \
51##                    rLightSpecular = [1.0, 1.0, 1.0, 1.0],\
52##                    rLightAmbient = [.9, .9, .9, 1.0],\
53##                    rLightDiffuse = [1.0, 0.0, 0.0, 1.0],\
54##                    rLightPosition = [0.0, 38, -10.0, 1.0],\
55##                                  ca = 1.0, la = 0.01, qa = 0.0)
56##        light1.enableAttenuation()
57##        render.addLight(light1)
58##       
59##        light2 = Light.Light( GL_LIGHT2, \
60##                    rLightSpecular = [1.0, 1.0, 1.0, 1.0],\
61##                    rLightAmbient = [1.9, 1.9, 1.9, 1.9],\
62##                    rLightDiffuse = [0.0, 0.0, 1.0, 1.0],\
63##                    rLightPosition = [0.0, 30, -10.0, 1.0])
64##        light2.enableAttenuation()
65##        render.addLight(light2)
66        #'''
67        #This is an example of terrain rendering
68        AddModel.add_model("models/machinegun/3dm-q3machinegun.3ds", [0, 10, 10])
69        terrain = Terrain.Terrain()
70        patch = Terrain.TerrainPatch(x_origin = -64)
71        patch.opreparebuffers()
72        patch.makeVisible()
73        terrain.addPatch(patch)
74        hf = Terrain.HeightField()
75        for x in range(65):
76            for y in range(65):
77                hf.setHeight(x, y, 10* (math.exp(math.sin(x/13.0))))
78        patch = Terrain.TerrainPatch(hfield = hf)
79        patch.opreparebuffers()
80        patch.makeVisible()
81        terrain.addPatch(patch)#
82        terrain.Enable()
83        render.terrain = terrain
84        #model = Test.TTest()
85        #render.testmodel = model
86       
87    def stop(self, kernel):
88        pass
89
90    def pause(self, kernel):
91        pass
92
93    def resume(self, kernel):
94        pass
95
96    def run(self, kernel):
97        pass
98
99    def name(self):
100        return "drawer"
101
102render = Render.Render(800, 600, posx = 0, posy = 0, posz = -100, far = 10000)
103hfk.insert(drawer())
104hfk.insert(render)
105hfk.insert(UI(render))
106hfk.run()
Note: See TracBrowser for help on using the browser.