Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

czy w openGL jest jakiś łatwy sposób na rysowanie siatki?

Ostatnio zmodyfikowano 2025-02-04 12:18
Autor Wiadomość
AP1994
Temat założony przez niniejszego użytkownika
czy w openGL jest jakiś łatwy sposób na rysowanie siatki?
» 2025-01-31 18:09:43
chcę narysować siatkę 3d do której będą wyrównywane obiekty 3d
mój kod wyświetlający
C/C++
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
glOrtho( - 5000, 5000, 5000, - 5000, - 5000, 5000 );

glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
/* OpenGL animation code goes here */

glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
glClear( GL_COLOR_BUFFER_BIT );
glPushMatrix();
//glRotatef(theta, 1.0f, 0.0f, 0.0f);
siec();
glPopMatrix();
funkcja siec()
C/C++
siatka.draw();
glRotatef( 90, 0.0f, 0.0f, 1.0f );
siatka.draw();
metoda draw() i konstruktor
C/C++
mesh3D::mesh3D( float x, float y, float z )
{
   
gridSizeX = x * Unit;
   
gridSizeY = y * Unit;
   
gridSizeZ = z * Unit;
   
cellSize = Unit;
   
originX = - 5000;
   
originY = - 5000;
   
originZ = - 5000;
}
void mesh3D::draw()
{
   
glColor3f( 0.5f, 0.5f, 0.5f );
   
glBegin( GL_LINES );
   
for( int i = 0; i <= gridSizeX; ++i )
   
{
       
float x = originX + i * cellSize;
       
for( int j = 0; j <= gridSizeZ; ++j )
       
{
           
float z = originZ + j * cellSize;
           
glVertex3f( x, originY, z );
           
glVertex3f( x, originY + gridSizeY * cellSize, z );
       
}
    }
   
glEnd();
}
problem mam w wyświetlaniu tej siatki nie wiem jak sprawdzić czy siatka wświetla przecinające się linie i czy jest 3d? Nie jestem pewny ale myślę że wyświetla mi się tylko siatka na płaszczyźnie 2d zamiast 3d jak to naprawić
P-182071
pekfos
» 2025-01-31 22:16:41
Może się tak wydaje bo renderujesz 3D w rzucie ortogonalnym? Jaki chcesz uzyskać efekt? Taką siatkę jak w Blenderze?
P-182073
AP1994
Temat założony przez niniejszego użytkownika
» 2025-02-01 15:35:10
tak fajnie by było gdyby była podobna. Czy problem sprowadza się do widoku kamery?
P-182079
pekfos
» 2025-02-01 19:21:55
Nie wiem co tam dokładnie widzisz ale ekran monitora jest 2D. Do iluzji 3D potrzebna jest perspektywa, której nie masz w glOrtho().
P-182087
AP1994
Temat założony przez niniejszego użytkownika
» 2025-02-02 14:02:24
Nie rozumiem za bardzo jak działa gluPerspective mógłby ktoś wytłumaczyć.
P-182094
pekfos
» 2025-02-02 23:12:47
P-182100
AP1994
Temat założony przez niniejszego użytkownika
» 2025-02-03 16:29:34
wiem że to mało z tematem związane, ale gdzie znaleźć dokumentację open gl opisującą wszystkie funkcje?
P-182104
tBane
» 2025-02-04 12:18:27
Sam w sobie OpenGL jest stary więc trudno znaleźć dokumentację. Miałem podobny problem, dlatego piszę w OpenGL GLFW GLAD. Wtedy można się uczyć z learnopengl.com
P-182106
« 1 »
  Strona 1 z 1