from render import Render, V2, V3 from obj import Obj from texture import Texture from shaders import gourad, toon, outline, toon_mod from utils import color r = Render() r.glCreateWindow(1000,1000) r.glClear() r.active_texture = Texture('./models/model.bmp') r.active_shader = toon #r.light = V3(1,0,0) r.loadModel('./models/model.obj', V3(250,500,0), V3(150,150,150)) r.active_shader = outline r.loadModel('./models/model.obj', V3(500,500,0), V3(150,150,150)) r.active_shader = toon_mod r.loadModel('./models/model.obj', V3(750,500,0), V3(150,150,150)) r.glFinish('output2.bmp')
import random width = 1920 height = 1076 r = Render(width, height) r.light = V3(0, 0, 1) # For background image r.bk_texture = Texture('./models/background.bmp') r.setBackground() r.glColor(255, 255, 255) # r.lookAt(posModel, V3(0,0,0)) r.active_shader = gourad # horse model r.active_shader = toon_mod posModel = V3(0, -20, -40) r.active_texture = Texture('./models/horse.bmp') r.loadModel('./models/horse.obj', posModel, V3(0.05, 0.05, 0.05), V3(0, 160, 0)) r.active_shader = toon_mod posModel = V3(-10, -20, -40) r.active_texture = Texture('./models/horse.bmp') r.loadModel('./models/horse.obj', posModel, V3(0.06, 0.06, 0.06), V3(0, -45, 0)) # UFO
""" We draw to moons, using an sphere model, each one has different texture and differnt shader to produce the effect of an celestial body. This models were made using bump mapping. """ #Draw the moon Iscaco t = Texture('./models/iscalo.bmp') r.active_texture = t r.active_light = norm(V3(0, 20, 0)) r.load('./models/sphere.obj', [-0.55, 0.70, 0], [0.22, 0.22, 0.22], [0, 0.2, 0]) r.active_shader = moon r.draw_arrays('TRIANGLES') #Draw the moon Urica t = Texture('./models/urica.bmp') r.active_texture = t r.load('./models/sphere.obj', [0.57, 0.80, 0], [0.20, 0.20, 0.20], [0, 0.2, 0]) r.active_shader = planet r.draw_arrays('TRIANGLES') """ We use model.bmp that is a face, to draw some mountains in the background, in this way we use just the back and top part of the face. We generate 30 faces of different sizes, to get the effect of mountains Sometimes this will develop a bad effect because of random
from utils import color r = Render(1000, 1000) r.light = V3(0, 0, 1) posModel = V3(0, 0, -20) #low-angle-shot # r.lookAt(posModel, V3(0,-8,0)) #medium shot # r.lookAt(posModel, V3(0,0,0)) # posModel = V3(0,0,-30) # highangle r.lookAt(posModel, V3(0, 15, 0)) posModel = V3(0, 5, -20) #dutch angle # r.camRotation = V3(0,0,15) # r.createViewMatrix() # r.createProjectionMatrix() # posModel = V3(0,0,-20) r.active_texture = Texture('./models/heli.bmp') r.active_shader = unlit r.loadModel('./models/heli.obj', posModel, V3(0.1, 0.1, 0.1), V3(0, 0, 0)) r.glFinish('highangle.bmp')