def model_with_triangle(): render = Render(2000, 2000) render.light = render.vector(0, 0, 1) render.load_model_3D('./models/Biplane/OBJ/HiPoly/Biplane.obj', scale=render.vector(200, 200, 200), rotate=render.vector(0, 0, 0)) render.glFinish()
def model_dutch_angle(): render = Render(2000, 2000) render.light = render.vector(0, 0, 1) render.active_texture = Texture('./models/Face/model.bmp') render.active_shader = shaders.grayscale render.load_model_3D('./models/Face/model.obj', scale=render.vector(200, 200, 200), rotate=render.vector(35, 25, 0)) render.glFinish('output/dutch_angle.bmp')
def model_high_angle(): render = Render(2000, 2000) render.light = render.vector(0, 0, 1) render.active_texture = Texture('./models/Face/model.bmp') render.active_shader = shaders.randomPattern render.load_model_3D('./models/Face/model.obj', scale=render.vector(200, 200, 200), rotate=render.vector(35, 350, 0)) render.glFinish('output/high_angle.bmp')
def model_texture(): render = Render(2000, 2000) render.light = render.vector(0, 0, 1) render.active_texture = Texture('./models/Face/model.bmp') render.active_shader = shaders.randomPattern render.load_model_3D('./models/Face/model.obj', scale=render.vector(200, 200, 200), rotate=render.vector(0, 0, 0)) render.glFinish() render.glZBuffer()
def proyecto1(): render = Render(1080, 1080) background = Texture('./models/fondos/fondo.bmp') render.viewPort = background.pixels render.lookAt(render.vector(1, 1, 1), render.vector(0, 0, 0)) render.light = render.vector(0, 0, 1) render.active_shader = shaders.underwater render.load_model_3D('./models/Biplane/OBJ/HiPoly/Biplane.obj', scale=render.vector(18, 18, 18), rotate=render.vector(20, 225, 0), translate=render.vector(-0.5, -0.15, 0)) render.active_shader = shaders.grayscale render.active_texture = Texture('./models/beriev/Beriev_2048.bmp') render.load_model_3D('./models/beriev/BerievA50.obj', scale=render.vector(2, 2, 2), rotate=render.vector(340, 90, 0), translate=render.vector(0.25, 0.8, 0)) render.active_shader = shaders.toon render.active_texture = Texture('./models/f104/Albedo.bmp') render.load_model_3D('./models/f104/F-104.obj', scale=render.vector(7.5, 7.5, 7.5), rotate=render.vector(340, 90, 0), translate=render.vector(-0.1, 0.7, -0.25)) render.active_shader = shaders.randomPattern render.active_texture = Texture('./models/f16/Albedo.bmp') render.load_model_3D('./models/f16/F-16D.obj', scale=render.vector(20, 20, 20), rotate=render.vector(0, 340, 320), translate=render.vector(0.5, 0, -0.75)) render.active_shader = shaders.randomPattern render.active_texture = Texture('./models/dilophosaurus/skin.bmp') render.load_model_3D('./models/dilophosaurus/dilophosaurus.obj', scale=render.vector(100, 100, 100), rotate=render.vector(35, 25, 0), translate=render.vector(0.25, -0.6, -0.25)) render.active_shader = shaders.heat render.active_texture = Texture('./models/dilophosaurus/skin.bmp') render.load_model_3D('./models/dilophosaurus/dilophosaurus.obj', scale=render.vector(25, 25, 25), rotate=render.vector(10, 90, 0), translate=render.vector(0, -0.6, -0.5)) render.glFinish('output/proyecto1.bmp')
def poligonos(): poligono1 = [(165, 380), (185, 360), (180, 330), (207, 345), (233, 330), (230, 360), (250, 380), (220, 385), (205, 410), (193, 383)] poligono2 = [(321, 335), (288, 286), (339, 251), (374, 302)] poligono3 = [(377, 249), (411, 197), (436, 249)] poligono4 = [(413, 177), (448, 159), (502, 88), (553, 53), (535, 36), (676, 37), (660, 52), (750, 145), (761, 179), (672, 192), (659, 214), (615, 214), (632, 230), (580, 230), (597, 215), (552, 214), (517, 144), (466, 180)] poligono5 = [(682, 175), (708, 120), (735, 148), (739, 170)] render = Render(800, 800) render.polygone(poligono1) render.polygone(poligono2) render.polygone(poligono3) render.polygone(poligono4) render.polygone(poligono5) render.glFinish()
t = Texture('models/space.bmp') r.active_texture = t r.paintBackground() t = Texture('models/surface.bmp') r.active_texture = t r.load('models/earth.obj', [0, 0.2, 0], [0.2, 0.2, 1], [0, 0, 0]) r.draw_arrays('TRIANGLE') t = Texture('models/moon.bmp') r.active_texture = t r.active_shader = unlit r.load('models/sphere.obj', [0, -0.8, 50], [2, 1, 1], [0, 0, 0]) r.draw_arrays('TRIANGLE') r.light = norm(V3(1, 1, 1)) t = Texture('models/saturnmap.bmp') r.active_texture = t r.active_shader = gouradShader r.load('models/saturn.obj', [-1.5, 1, -50], [1, 1, 1], [0, 0, 0]) r.draw_arrays('TRIANGLE') t = Texture('models/satelite.bmp') r.active_texture = t r.load('models/satelite.obj', [-0.4, 0, 30], [0.025, 0.025, 1], [0, 0, 0.2]) r.draw_arrays('TRIANGLE') t = Texture('models/viper.bmp') r.active_texture = t r.load('models/viper.obj', [0.4, -0.2, 20], [0.1, 0.1, 1], [0.1, 0, -0.2]) r.draw_arrays('TRIANGLE') r.glFinish()
from gl import Render, color r = Render(600, 600) r.glViewport(100, 100, 400, 400) r.glClearColor(0, 0, 0) r.glColor(0.45, 0.5, 0) r.glClear() r.glLine(-1, 0, 0, 1) r.glLine(0, 1, 1, 0) r.glLine(1, 0, 0, -1) r.glLine(0, -1, -1, 0) r.glLine(-1, 0, 1, 0) r.glLine(0, -1, 0, 1) r.glLine(-1, -1, -1, 1) r.glLine(-1, 1, 1, 1) r.glLine(1, 1, 1, -1) r.glLine(1, -1, -1, -1) r.glLine(-1, -1, 1, 1) r.glLine(1, -1, -1, 1) r.glFinish('output.bmp')
r.drawArrays('SHADER') r.load('./sphere.obj', translate=(4,-1,2), scale=(0.038,0.038,0.038), rotate=(0,0,0)) r.drawArrays('SHADER') r.load('./sphere.obj', translate=(3,-1,2), scale=(0.03,0.03,0.03), rotate=(0,0,0)) r.drawArrays('SHADER') r.load('./sphere.obj', translate=(4,-1,6), scale=(0.085,0.085,0.085), rotate=(0,0,0)) r.drawArrays('SHADER') r.load('./sphere.obj', translate=(4,0,8), scale=(0.1,0.1,0.1), rotate=(0,0,0)) r.drawArrays('SHADER') t = Texture('./sun2.bmp') r.texture = t r.light = V3(0,0,1) r.lookAt(V3(1, 0, 1), V3(0, 0, 0), V3(0, 1, 0)) r.load('./Dark Knight.obj', translate=(9, 10, 20), scale=(0.045, 0.045, 0.045), rotate=(0,4*pi/5,pi)) r.drawArrays('GREYSHADER') r.load('./cube.obj', translate=(0.5, 18, 20), scale=(3, 3.5, 1), rotate=(0,0,pi/2)) r.drawArrays('GREYSHADER') t = Texture('./fur.bmp') r.texture = t r.load('./Alien Animal.obj', translate=(250, 0, 135), scale=(3, 3, 4), rotate=(pi, pi, 0)) r.drawArrays('TRIANGLE') r.glFinish('proyectoScene.bmp')
# Andrea Abril Palencia Gutierrez, 18198 # Lab1: Filling any Polygon --- Graficas por computadora, seccion 20 # 20/07/2020 - 27/07/2020 from gl import Render, color, convertir imagen = Render(800, 460) print("Esto suele tardar un poco!!!") pol1 = [(165, 380), (185, 360), (180, 330), (207, 345), (233, 330), (230, 360), (250, 380), (220, 385), (205, 410), (193, 383)] imagen.glColor(color(215, 189, 226)) imagen.Poligonos(pol1) pol2 = [(321, 335), (288, 286), (339, 251), (374, 302)] imagen.glColor(color(171, 235, 198)) imagen.Poligonos(pol2) pol3 = [(377, 249), (411, 197), (436, 249)] imagen.glColor(color(249, 231, 159)) imagen.Poligonos(pol3) pol4 = [(413, 177), (448, 159), (502, 88), (553, 53), (535, 36), (676, 37), (660, 52), (750, 145), (761, 179), (672, 192), (659, 214), (615, 214), (632, 230), (580, 230), (597, 215), (552, 214), (517, 144), (466, 180)] imagen.glColor(color(248, 201, 251)) imagen.Poligonos(pol4) pol5 = [(682, 175), (708, 120), (735, 148), (739, 170)] imagen.glColor(color(248,249,249)) imagen.Poligonos(pol5) imagen.glFinish('poligonos.bmp') print("¡Listo! La imagen esta creada con el nombre de 'poligonos.bmp'.")
from gl import Render, colorScale #We draw our MainGL mainGl = Render(1000, 500) #We define our polygons polygon1 = [(165, 380), (185, 360), (180, 330), (207, 345), (233, 330), (230, 360), (250, 380), (220, 385), (205, 410), (193, 383)] polygon2 = [(321, 335), (288, 286), (339, 251), (374, 302)] polygon3 = [(377, 249), (411, 197), (436, 249)] polygon4 = [(413, 177), (448, 159), (502, 88), (553, 53), (535, 36), (676, 37), (660, 52), (750, 145), (761, 179), (672, 192), (659, 214), (615, 214), (632, 230), (580, 230), (597, 215), (552, 214), (517, 144), (466, 180)] polygon5 = [(682, 175), (708, 120), (735, 148), (739, 170)] polygon6 = [(100, 100), (100, 400), (800, 400), (800, 100)] mainGl.glColorRGB(1, 0, 0) mainGl.glDrawAndPaintPolygon(polygon1) mainGl.glColorRGB(0, 1, 0) mainGl.glDrawAndPaintPolygon(polygon2) mainGl.glColorRGB(0, 0, 1) mainGl.glDrawAndPaintPolygon(polygon3) mainGl.glColorRGB(1, 1, 0) mainGl.glDrawAndPaintPolygon(polygon4) mainGl.glColorRGB(1, 0, 1) mainGl.glDrawAndPaintPolygon(polygon5) mainGl.glFinish('graphic1.bmp')
#Andrés Emilio Quinto Villagrán - 18288 #Lab 2 shaders from gl import Render #from gl import color render = Render() PLANET = "PLANET" render.load("sphere.obj", translate=(400, 400, 0), scale=(250, 250, 350), shape=PLANET) render.glFinish(filename="output.bmp")
from gl import Render, color, V2, V3 from obj import Obj, Texture from shaders import * r = Render() r.glCreateWindow(500, 500) r.active_texture = Texture('./models/model.bmp') r.active_shader = gourad posModel = V3(0, 3, 0) r.lookAt(posModel, V3(0, 0, -5)) r.glLoadModel('./models/model.obj', posModel, V3(2, 2, 2), V3(0, 0, 0)) r.glFinish('high_angle.bmp') r.glClear() posModel = V3(0, -3, 0) r.lookAt(posModel, V3(0, 0, -5)) r.glLoadModel('./models/model.obj', posModel, V3(2, 2, 2), V3(0, 0, 0)) r.glFinish('low_angle.bmp') r.glClear() posModel = V3(0, 0, 0) r.lookAt(posModel, V3(0, 0, -5)) r.glLoadModel('./models/model.obj', posModel, V3(2, 2, 2), V3(0, 0, 0)) r.glFinish('medium_angle.bmp') r.glClear()
r.glLine(517, 144, 466, 180) r.glLine(466, 180, 413, 177) #Figura 5 r.glLine(682, 175, 708, 120) r.glLine(708, 120, 735, 148) r.glLine(735, 148, 739, 170) r.glLine(739, 170, 682, 175) print(r.framebuffer[0][0]) x = 0 y = 0 draw = False last = b'\x00\x00\x00' for i in (r.framebuffer): for j in i: if (j != b'\x00\x00\x00' and last == b'\x00\x00\x00'): draw = not draw if (draw == True and j != b'\xff\xff\xff'): r.framebuffer[x][y] = b'\x51\x78\x35' last = j y += 1 draw = False y = 0 x += 1 r.glFinish("out3.bmp")
from gl import Render r = Render() r.glInit(800, 600) r.load('./sphere.obj', [1, 1, 1], [300, 300, 300]) r.glFinish('Planeta.bmp')
bitmap.active_texture = Texture('./Models/Textures/Body_Diffuse.bmp') bitmap.active_shader = moss bitmap.loadObjModel('./Models/bb-unit.obj', (900, 300, 0), (1.5, 1.5, 1.5), (0, 30, 0)) bitmap.active_texture = Texture('./Models/Textures/arc170fighter.bmp') bitmap.active_shader = gooch bitmap.loadObjModel('./Models/Arc170.obj', (2300, 1700, 0), (0.5, 0.5, 0.5), (0, 210, 30)) bitmap.active_texture = Texture('./Models/Textures/XWing2.bmp') bitmap.active_shader = phong bitmap.loadObjModel('./Models/X-Fighter.obj', (600, 1200, 0), (0.4, 0.4, 0.4), (0, 25, 15)) bitmap.active_texture = Texture('./Models/Textures/R2D2_Diffuse.bmp') bitmap.active_shader = toon bitmap.loadObjModel('./Models/R2-Unit.obj', (3000, 200, 0), (2.5, 2.5, 2.5), (0, -110, 0)) bitmap.active_texture = Texture( './Models/Textures/Water_Vaporator_Reflectivity.bmp') bitmap.active_shader = sand bitmap.loadObjModel('./Models/Vaporator.obj', (210, 280, 0), (3, 3, 3), (0, 0, 0)) bitmap.glFinish('output.bmp') # bitmap.glZBuffer('outputZbuffer.bmp') print("El bitmap se genero exitosamente, revisa la carpeta contenedora")
from shaders import * r = Render(768, 432) r.active_texture = Texture('./models/model.bmp') r.active_shader = phong posModel = V3(0, 0, -5) # Medium shot r.lookAt(posModel, V3(0, -1, 0)) r.loadModel('./models/model.obj', posModel, V3(1, 1, 1), V3(0, 0, 0)) r.glFinish('medium.bmp') # Low angle r = Render(768, 432) r.active_texture = Texture('./models/model.bmp') r.active_shader = phong posModel = V3(0, 0, -5) r.lookAt(posModel, V3(0, -5, 0)) r.loadModel('./models/model.obj', posModel, V3(1, 1, 1), V3(0, 0, 0)) r.glFinish('low.bmp')
from gl import Render from gl import color bmpFile = Render() bmpFile.glCreateWindow(800, 600) # Screen size bmpFile.glViewport(20, 20, 50, 150) bmpFile.glClear() bmpFile.glClearColor(0, 0, 0) # Black bmpFile.glColor(0.53, 0.80, 0.92) # Added random color bmpFile.glVertex(-1, -1) # Point on left lower corner bmpFile.glVertex(0, 0) # Point on center bmpFile.glVertex(1, 1) # Point on right upper corner bmpFile.glFinish()
## it validates the coordinates given above if ((point_x < -1 or point_x > 1) or (point_y < -1 or point_y > 1)): print("\nPor favor escoger valores entre -1 y 1\n") else: is_values_ok = True ## this function draws the point into the image render.glVertex(point_x, point_y) else: print("Por favor escoja una opción válida!") ## this function saves all the data edited above and writes all the changes into the image elif (option == 4): render.glFinish(filename) ## this option will let you quit the program, it has a warnin message before quitting elif (option == 5): print( "Si se sale del programa y no ha guardado la imagen no se notará ningún cambio!" ) exit = input("Desea salir del programa? (Si o No): ") if (exit.upper() == "SI"): wants_to_continue = False elif (exit.upper() != "NO"): print("Por favor escoja una opción válida!") else: print("Por favor escoja una opción válida!")
g = float(g) b = input("Ingrese el valor b del color deseado (de 0 a 1): ") b = float(b) if((r < 0 or r > 1) or (g < 0 or g > 1) or (b < 0 or b > 1)): print("\nPor favor escoger valores entre 0 y 1\n") else: is_values_ok = True ## changes the color of the lines render.glColor(r, g, b) ## draws a face mask elif(option == 3): r.loadModel('./models/mask.obj', (5000, 2300), (300, 300)) r.glFinish(filename) print("Termiado!\nPara ver todas las líneas, hacerle zoom a la imagen! \n") ## draws a sunglasses elif(option == 4): r.loadModel('./models/Glasses.obj', (2200, 1500), (65, 65)) r.glFinish(filename) print("Termiado!\n") ## draws an f1 car elif(option == 5): r.loadModel('./models/f1.obj', (5000, 2300), (750, 750)) r.glFinish(filename) print("Termiado!\n") print("Termiado!\nPara ver todas las líneas, hacerle zoom a la imagen! \n")
def biplane(): render = Render(2000, 2000) render.load_model_2D('./models/Biplane/OBJ/HiPoly/Biplane.obj', render.vector(0, 0), render.vector(200, 200)) render.glFinish()
#Michael Chan 18562 #Graficas por computadora #SR4FlatShading from gl import Render modelName = input('Ingrese el path del modelo: ') r = Render() r.glInit(800, 600) r.load(modelName, [2, 2, 1], [150, 150, 150]) r.glFinish("SR4.bmp")
mainGl=Render(1000,500) #We define our polygons polygon1=[(165, 380), (185, 360), (180, 330), (207, 345), (233, 330), (230, 360), (250, 380), (220, 385), (205, 410), (193, 383)] polygon2=[(321, 335), (288, 286), (339, 251), (374, 302)] polygon3=[(377, 249), (411, 197), (436, 249)] polygon4=[(413, 177), (448, 159), (502, 88), (553, 53), (535, 36), (676, 37), (660, 52), (750, 145), (761, 179), (672, 192), (659, 214), (615, 214), (632, 230), (580, 230),(597, 215), (552, 214), (517, 144), (466, 180)] polygon5=[(682, 175), (708, 120), (735, 148), (739, 170)] polygon6=[(100, 100), (100, 400), (800,400 ), (800, 100)] mainGl.glColorRGB(1,0,0) mainGl.glDrawAndPaintPolygonOddEven(polygon1) mainGl.glColorRGB(0,1,0) mainGl.glDrawAndPaintPolygonOddEven(polygon2) mainGl.glColorRGB(0,0,1) mainGl.glDrawAndPaintPolygonOddEven(polygon3) mainGl.glColorRGB(1,1,0) mainGl.glDrawAndPaintPolygonOddEven(polygon4) mainGl.glColorRGB(1,0,1) mainGl.glDrawAndPaintPolygonOddEven(polygon5) mainGl.glFinish('graphicOddEven.bmp')
r.glLoadModel('./models/barril2.obj', V3(5.4, -1.5, 17), V3(1, 1.2, 1), V3(0, 0, 0)) # # Cuarto soldado: # shader: greyScale # r.active_shader = greyScale r.glLoadModel('./models/barril2.obj', V3(6.8, -1.5, 17), V3(1, 1, 1), V3(0, 0, 0)) print('Barriles cargados...') # # Se agrega el modelo del carro viejo con textura y shader. # obj: rusted_car.bmp # textura: rusted_car.obj # shader: phong # print('Cargando modelo de carro viejo...') r.light = V3(0, 0, 1) r.active_texture = Texture('./models/rusted_car.bmp') r.active_shader = phong r.glLoadModel('./models/rusted_car.obj', V3(10, -14, 31), V3(1, 1, 1), V3(30, 0, 0)) print('Carro viejo cargada...') # # finaliza la escena y se crea el archivo ## print('\nEscena creada, grabando archivo...\n') r.glFinish('escena.bmp')
from gl import Render render = Render() render.glColor(0.130, 0.240, 0.750) #Color Azul Mustang render.load('./cuerpo.obj', translate=[600, 300], scale=[100, 100]) render.glFinish()
# Andrea Abril Palencia Gutierrez, 18198 # SR6: Transformations --- Graficas por computadora, seccion 20 # 17/08/2020 - 24/08/2020 from gl import Render from obj import Obj from textura import Texture modelo = Render(800, 800) textura = Texture('./models/model.bmp') posModel = (0, 0, 3) modelo.lookAt(posModel, (-2, -2, -0.25)) # modelo.loadModel('./models/model.obj', posModel, (1,1,1),(0,0,0)) modelo.loadModel('./models/model.obj', posModel, (1, 1, 1), textura, (0, 0, 1)) modelo.glFinish('modelo_obj.bmp') print("¡Listo! La imagen esta creada con el nombre de 'modelo_obj.bmp'.")
# Laboratorio 3 Tests.py #Import our gl library import math from gl import Render, colorScale from obj import Obj #We draw our Raptor mainGl = Render(1400, 1400) mainGl.loadObjModel('raptor.obj', 700, 500) mainGl.glFinish('graphic.bmp') #We draw our Dinosaur mainGl2 = Render(1400, 1400) mainGl2.loadObjModel('dinosaur.obj', 700, 700, 5, 5) mainGl2.glFinish('graphic2.bmp') #We draw our Trex mainGl3 = Render(1400, 1400) mainGl3.loadObjModel('trex.obj', 700, 500, 3, 3) mainGl3.glFinish('graphic3.bmp') #We draw our Laptop mainGl4 = Render(1400, 1400) mainGl4.loadObjModel('laptop.obj', 700, 500, 25, 25) mainGl4.glFinish('graphic4.bmp') #We draw our Roulette mainGl5 = Render(5000, 5000) mainGl5.loadObjModel('roulette.obj', 2500, 500, 1, 1) mainGl5.glFinish('graphic5.bmp')
from gl import Render, color, V2, V3 from obj import Obj, Texture import glMath from shaders import * import random r = Render(1000, 1000) r.active_texture = Texture('./models/earthDay.bmp') r.active_texture2 = Texture('./models/earthNight.bmp') r.active_shader = toon luz = V3(0, 0, 1) r.light = glMath.normalize(luz) r.loadModel('./models/earth.obj', V3(500, 500, 0), V3(1, 1, 1)) r.glFinish('toon.bmp')