Renderuję złożoną scenę w WebGL (180 oczek) odpowiadającą modelowi samochodu (Nissan GTX) . Jednak kiedy poruszam kamerą, wygląda na to, że brakuje trójkątów
,
Te „brakujące trójkąty” wydają się losowo skakać po powierzchni. Czy może to być problem z buforem głębokości lub normalnym problemem obliczeniowym? Nie mam pojęcia.
Niemniej jednak, jeśli powiększę w pobliżu powierzchni modelu, wszystkie trójkąty są tam .
Czy ktoś miał ten problem? jakieś wskazówki?!
2 odpowiedzi
Myślę, że masz siatkę szkieletową bezpośrednio na (lub bardzo blisko) stałej siatce, a to tylko problem z buforem głębokości. Działa podczas powiększania, ponieważ dokładność bufora głębokości jest wyższa w bliskim obszarze frustum oglądania.
Spróbuj dostosować głębokość obszaru ekranu, pracując z przesunięciem wielokąta (lub podobnym Fragment Shaderem modyfikującym gl_FragDepth
) podczas renderowania nakładki szkieletowej bezpośrednio na wierzchu siatki bryłowej. Lub po prostu odsuń je dalej w przestrzeni obiektu.
Możesz mieć rację, gdy podejrzewasz problem z buforem głębi — fakt, że odległość od kamery wpływa na rzeczy, sugeruje, że może to być problem z precyzją bufora. Sprawdź odpowiedź na to pytanie dla możliwego rozwiązania.
Podobne pytania
Powiązane pytania
Nowe pytania
opengl-es
Podzbiór interfejsu API grafiki 3D OpenGL przeznaczony dla urządzeń wbudowanych, takich jak telefony komórkowe.