Можно ли рендерить в 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)
Вот как это выглядит: (по середине есть виднеется шея, это вид сзади)
