Можно ли рендерить в wareframe движке только те полигоны , которые перед камерой?

В моем 3д движке есть проблема с оптимизацией и также я могу видеть все полигоны(даже те которые находятся за другими полигонами). Полигоны рисуются без ограничений

Вот код 3D объекта:

class Object3D:
    def __init__(self, name, cam, rotx):
        self.cam = cam
        self.coords=[]
        self.poligons=[]
        self.rotx=rotx
        with open(name) as obj:
            for line in obj.read().splitlines():
                if line[0]=='v':
                    self.coords.append(line[line.index('v')+2:].split())

        with open(name) as obj:
            for line in obj.read().splitlines():
                if line[0]=='f':
                    polg=[int(f[:f.index('/')])-1 for f in line[line.index('f')+2:].split()]
                    self.poligons.append([self.coords[polg[n]] for n in range(len(polg))])

    def rotRL(self):
        if pygame.K_RIGHT in opg.GETPRESSEDKEYS():
            self.rotx+=0.1
        if pygame.K_LEFT in opg.GETPRESSEDKEYS():
            self.rotx-=0.1
    #Функция отрисовки полигонов
    #self.poligons - координаты отрисовки полигонов
    def show(self, pos):
        for ncl in self.poligons:
            Polygon3D(ncl, self.cam, self.rotx, clr=(randint(1,255),randint(1,255),randint(1,255)), posS=pos)

Вот как это выглядит: (по середине есть виднеется шея, это вид сзади)


Ответы (0 шт):