directory name changed

This commit is contained in:
2026-02-09 01:57:04 +01:00
Unverified
parent afc9db7a14
commit 0c562e646f
8 changed files with 1 additions and 0 deletions

81
3d_renderer/renderer.py Normal file
View File

@@ -0,0 +1,81 @@
import pygame as pg
import numpy as np
from math import *
from src.camera import Camera
from src.object import Object
class Renderer:
__clock: pg.time.Clock
screen: pg.Surface
fps: int
caption: str
camera: Camera
window_width: int
window_height: int
objects: list[Object]
def __init__(self, window_width: int, window_height: int):
self.__clock = pg.time.Clock()
self.screen = pg.display.set_mode((window_width, window_height))
self.window_width = window_width
self.window_height = window_height
self.fps = 60
self.caption = "window"
self.camera = Camera(self)
self.objects = []
def __quit(self):
pg.quit()
exit()
def __handle_event(self, event: pg.event.Event):
if event.type == pg.QUIT:
self.__quit()
if not self.camera.is_static:
key = pg.key.get_pressed()
if key[pg.K_w]:
self.camera.move_forward()
if key[pg.K_s]:
self.camera.move_backward()
if key[pg.K_a]:
self.camera.move_left()
if key[pg.K_d]:
self.camera.move_right()
if key[pg.K_SPACE]:
self.camera.move_up()
if key[pg.K_LSHIFT]:
self.camera.move_down()
if key[pg.K_EQUALS]:
self.camera.fov_up()
if key[pg.K_MINUS]:
self.camera.fov_down()
if key[pg.K_r]:
self.camera.pitch_down()
if key[pg.K_f]:
self.camera.pitch_up()
if key[pg.K_q]:
self.camera.yaw_down()
if key[pg.K_e]:
self.camera.yaw_up()
if key[pg.K_z]:
self.camera.roll_down()
if key[pg.K_c]:
self.camera.roll_up()
def __update(self):
self.screen.fill((255,255,255))
for o in self.objects:
o.draw()
pg.display.update()
def add_object(self, object: Object):
object.attach_renderer(self)
self.objects.append(object)
def run(self):
pg.display.set_caption(self.caption)
while True:
for event in pg.event.get():
self.__handle_event(event)
self.__update()
self.__clock.tick(self.fps)