Potrzebujesz jakiegoś kierunku na wyświetlaniu chmury punktów 3D za pomocą openGl w C++ (vs2008). Próbuję zrobić 3d chmurkę punktów z teksturą. Mam 3 tablice 2D (każdy o tej samej wielkości 1024x512) reprezentujące x, y, z każdego punktu. Myślę, że jestem na dobrej drodze zopengl Chmura punktów 3D render z X, Y, Z Tablica 2d
glBegin(GL_POINTS);
for(int i=0; i<1024; i++)
{
for(int j=0; j<512; j++)
{
glVertex3f(x[i][j], y[i][j], z[i][j]);
}
}
}
glEnd();
Teraz ładuje wszystkie wierzchołki w buforze (myślę), ale stąd nie jestem pewien, jak postępować. Albo jestem całkowicie zła tutaj.
Następnie mam inną tablicę 2D (ten sam rozmiar), która zawiera dane kolorów (wartości od 0-255), które chcę użyć jako tekstury w chmurach i wyświetlaczach punktów 3D.
Nie mam RGB dla każdego punktu, więc nie mogę używać glColor3 * (r, g, b). Próbuję użyć ostatniej tablicy (z wartościami 0-255) jako mojej tekstury dla chmury punktów 3D. Z glBegin (GL_POLYGON) Rozumiem, że sugerujesz tworzenie siatki ???? Ponownie pytanie brzmi: jak postępować z tego, co mam powyżej. LUB czy idę w całkowicie złym kierunku. – user1733628
Cóż, powyższy kod w zasadzie narysuje chmurę punktów z 3 macierzy współrzędnych. Nie ma prawdziwego "bufora", który jest wypełniony, bezpośrednio rysujesz w trybie natychmiastowym. Kolory: Jak rozumiem, masz jedną niepodpisaną wartość bajtu na jeden wierzchołek? Dlatego powinieneś zdefiniować, w jaki sposób wartości te reprezentują niektóre kolory. Można ich użyć jako intensywności lub użyć palety lub czegoś zupełnie innego. – derhass