Avatar billede Slettet bruger
22. juni 2002 - 20:54 Der er 18 kommentarer og
1 løsning

3D Net

Jeg er ved at lave et program hvori jeg skal bruge et "3D-net" som roterer men jeg kan ikke finde ud at lave det jeg ved at det nok skal laves i OpenGL men hvordan.

De enkelte strager skal kunne have forskellige farve
og jeg skal kunne dreje det ved at angive antallet af grader.

Mvh. Simon
Avatar billede soreno Praktikant
22. juni 2002 - 21:11 #1
det er en stor mundfuld på én gang. en god ide er at gennemgå de 7-9 første tutorials her (der er vist også muligt at downloade delphi kode) :
http://nehe.gamedev.net/

når du får styr på det grundlæggende, dvs. initialisering af opengl, så skulle det være en nem sag at lave et 3d-grid.

princippet er ret simpelt, dette kunne være dit render funktion:
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glLoadIdentity()
glRotatef(angel, x_akse, y_akse, z_akse)
glBegin(GL_LINES)
  loop_det_antal_gange_som_der_skal_være_streger
    glColor3f(col_red, col_green, col_blue) //interval [0-1]
    glVertex3f(x_kordinat_start, y_kordinat_start, z_kordinat_start)
    glVertex3f(x_kordinat_slut, y_kordinat_slut, z_kordinat_slut)
    opskriv_kordinater_så_de_bliver_til_et_3Dgrid_og_angiv_ny_farve_til_linien()
  end_loop
glEnd()
swap_buffer_funktion()

konkret kode kan jeg desværre ikke fremtrylle da jeg ikke er delphimand.
Avatar billede Slettet bruger
22. juni 2002 - 21:28 #2
en anden ting kan man få det ind i et TImage
det er nemelig ikke det eneste der skal vises

hvis jeg vil rotere den efter at den er lavet hvad så
hvordan frigør jeg den når jeg er færdig med den

Mvh. Simon
Avatar billede soreno Praktikant
22. juni 2002 - 21:35 #3
du kalder bare din render funktion hver gang den skal opdaters. så kan du jo få musen til at manipulere med parameterne til:
glRotatef(angel, x_akse, y_akse, z_akse)
og derved opnå rotation.
Avatar billede Slettet bruger
22. juni 2002 - 21:39 #4
behøver jeg at tegne den ver eneste gang jeg vil dreje den

Mvh. Simon
Avatar billede soreno Praktikant
22. juni 2002 - 21:52 #5
det bestemmer du selv som programmør. det kommer jo an på situationen, men hvorfor skulle du ville dreje den hvis ikke resultatet skal kunne ses ?
Avatar billede Slettet bruger
22. juni 2002 - 21:52 #6
og hvordan sætter jeg den ind på et TImage
Avatar billede Slettet bruger
22. juni 2002 - 21:53 #7
den skal kunne dreje rund om sig selv så man ser den hele vejen rundt

når man vil skifte farve på nogen skal man vel tegne den igen
Avatar billede soreno Praktikant
22. juni 2002 - 21:53 #8
hehe, samme tid :-)
ang. TImage: jeg er som tidligere skrevet ikke delphimand, så der må jeg melde pas.
Avatar billede Slettet bruger
22. juni 2002 - 21:55 #9
Men det kan gøres sådan her

vise form
Lave WireFramen

OnTimer dreje den 1 grad.

Mvh. Simon
Avatar billede Slettet bruger
22. juni 2002 - 21:56 #10
det med timage må så vente til der kommer en anden eller jeg selv finder ud af det.
Avatar billede Slettet bruger
22. juni 2002 - 21:57 #11
lige en ting mere hvad hedder den function der tilfæjer texturer
du skal nok få dine point
Mvh. Simon
Avatar billede Slettet bruger
22. juni 2002 - 21:58 #12
tilføjer
Avatar billede soreno Praktikant
22. juni 2002 - 22:04 #13
er det sådan noget i denne stil du forestiller dig:
http://e99a.dk/3d_grid.zip ? (lave i c++)

med hensyn til textures skal du:
loade en bitmap
konvertere den til noget som opengl kan bruge og uploade den til grafikkortet
enable textures, og vælge hvilken textuer du vil bruge
angive textur kordinater til dine polygoner (det er ikke så sjovt at texture en linie ;-)

kig evt. her:
http://nehe.gamedev.net/tutorials/lesson.asp?l=06
Avatar billede Slettet bruger
22. juni 2002 - 22:06 #14
nej men alle linjerne bliver forbundet.

Mvh. Simon
Avatar billede Slettet bruger
22. juni 2002 - 22:10 #15
ja det er det.

Mvh. Simon
Avatar billede soreno Praktikant
22. juni 2002 - 22:12 #16
nej til hvad - og ja til hvad ?
Avatar billede Slettet bruger
22. juni 2002 - 22:13 #17
nej til texture
ja til at det var noget i den stil
Avatar billede soreno Praktikant
22. juni 2002 - 22:18 #18
du kan med fordel kigge lidt her:
http://www.opengl-delphi.dk/
http://www.delphi3d.net/
Avatar billede Slettet bruger
22. juni 2002 - 22:43 #19
jeg så lidt på dem og der var et fuld svar på det du ikke kunne svare på.

Mvh. Simon
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester