Renderowanie plików STL w OpenGL - jak naprawić dziury

Rozmowy na luzie np. o pogodzie lub śmiesznych kotach
Awatar użytkownika
dragonn
Zasłużony
Postów w temacie: 8
Posty: 6383
Rejestracja: 12 gru 2016, 21:50
Lokalizacja: Opole
Drukarka: LUME
x 1455

Re: Renderowanie plików STL w OpenGL - jak naprawić dziury

Post autor: dragonn »

Kod: Zaznacz cały

gl.glNormal3f(-facet['normal']['x'], -facet['normal']['y'], -facet['normal']['z'])
Masz na myśli tak?
Niestety coś nie do końca:
2018-06-06-232913_3840x1080_scrot.png
Coś się zmienia ale to dalej nie to.
Wrzucę Ci jeszcze kod który włączam światło:

Kod: Zaznacz cały

        gl.glEnable(gl.GL_CULL_FACE)
        gl.glEnable(gl.GL_LIGHTING)

        gl.glLightfv(gl.GL_LIGHT0, gl.GL_AMBIENT, [0.0, 0.0, 0.0, 1.0])
        gl.glLightfv(gl.GL_LIGHT0, gl.GL_DIFFUSE, [0.7, 0.7, 0.7, 1.0])
        gl.glLightfv(gl.GL_LIGHT0, gl.GL_SPECULAR, [0.7, 0.7, 0.7, 1.0])
        gl.glLightfv(gl.GL_LIGHT0, gl.GL_POSITION, [1.0, 1.0, 1.0, 0.0])
        gl.glEnable(gl.GL_LIGHT0)

        gl.glLightModelfv(gl.GL_LIGHT_MODEL_AMBIENT, [0.3, 0.3, 0.3, 1.0])
        gl.glLightModeli(gl.GL_LIGHT_MODEL_LOCAL_VIEWER, gl.GL_TRUE)
        gl.glEnable(gl.GL_CULL_FACE)
Awatar użytkownika
dziobu
Zasłużony
Postów w temacie: 8
Posty: 8908
Rejestracja: 28 gru 2016, 16:38
Drukarka: ZMorph 2.0(S)
x 5842
Kontakt:

Re: Renderowanie plików STL w OpenGL - jak naprawić dziury

Post autor: dziobu »

To jeszcze pytanie czy GL_DEPTH_TEST Ci nie potrzebne.
Awatar użytkownika
dragonn
Zasłużony
Postów w temacie: 8
Posty: 6383
Rejestracja: 12 gru 2016, 21:50
Lokalizacja: Opole
Drukarka: LUME
x 1455

Re: Renderowanie plików STL w OpenGL - jak naprawić dziury

Post autor: dragonn »

Mam wyżej tylko nie wkleiłem bo to już miałem wcześniej zanim dodawałem światło.
Awatar użytkownika
dziobu
Zasłużony
Postów w temacie: 8
Posty: 8908
Rejestracja: 28 gru 2016, 16:38
Drukarka: ZMorph 2.0(S)
x 5842
Kontakt:

Re: Renderowanie plików STL w OpenGL - jak naprawić dziury

Post autor: dziobu »

- Spróbuj wywalić GL_CULL_FACE (masz w 2 miejscach).
- Usuń ustawianie normalnej.
Jak któreś z powyższych nie pomoże, to luknij tutaj: https://learnopengl.com/Advanced-OpenGL/Face-culling
Awatar użytkownika
dragonn
Zasłużony
Postów w temacie: 8
Posty: 6383
Rejestracja: 12 gru 2016, 21:50
Lokalizacja: Opole
Drukarka: LUME
x 1455

Re: Renderowanie plików STL w OpenGL - jak naprawić dziury

Post autor: dragonn »

Hmmmm właśnie! Akurat zanim napisałeś to dodałem gl.glFrontFace(gl.GL_CW) i wydaje się działać dobrze ale zobaczę jeszcze jaki efekt ma GL_CULL_FACE.
Ogromne dzięki za pomoc :D! Na tym forum to z każdą rzeczą można liczyć na pomoc :P.
Awatar użytkownika
dziobu
Zasłużony
Postów w temacie: 8
Posty: 8908
Rejestracja: 28 gru 2016, 16:38
Drukarka: ZMorph 2.0(S)
x 5842
Kontakt:

Re: Renderowanie plików STL w OpenGL - jak naprawić dziury

Post autor: dziobu »

Ciesze się że mogłem pomóc ;)
Pod podanym adresem masz opis o co z GL_CULL_FACE chodzi. Nawet fajnie napisane.
dragonn
ODPOWIEDZ

Wróć do „O wszystkim i o niczym”