Strona 2 z 2

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

: 06 cze 2018, 23:31
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)

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

: 06 cze 2018, 23:39
autor: dziobu
To jeszcze pytanie czy GL_DEPTH_TEST Ci nie potrzebne.

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

: 06 cze 2018, 23:56
autor: dragonn
Mam wyżej tylko nie wkleiłem bo to już miałem wcześniej zanim dodawałem światło.

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

: 07 cze 2018, 00:05
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

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

: 07 cze 2018, 00:08
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.

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

: 07 cze 2018, 00:12
autor: dziobu
Ciesze się że mogłem pomóc ;)
Pod podanym adresem masz opis o co z GL_CULL_FACE chodzi. Nawet fajnie napisane.