eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingOpen GL - obroty
Ilość wypowiedzi w tym wątku: 2

  • 1. Data: 2010-12-13 23:18:13
    Temat: Open GL - obroty
    Od: Andrzej <a...@g...com>

    Witam,

    Czy ktoś może mi podpowiedzieć w jaki sposób wykonać obrót modelu za
    pomocą biblioteki OpenGL w taki sposób, aby model obracał się dookoła
    wszystkich osi przechodzących przez środek tego modelu, przy czym osie
    te muszą być równoległe do osi układu współrzędnych kamery. Bez
    ustawionej perspektywy udało mi się wykonać prawidłowo tylko 2 obroty
    dookoła osi x oraz y, natomiast w przypadku osi z model wiruje
    względem osi z własnego układu współrzędnych. Z ustawioną perspektywą
    model obraca się tylko dookoła osi własnego własnego układu
    współrzędnych, a nie jest to efekt, który chce uzyskać. Przykładowy
    kod w LWOGL w javie:

    protected void GL_beginDraw() {
    Rectangle bounds = this.glcanvas.getParent().getClientArea();
    this.glcanvas.setBounds( bounds );
    this.glcanvas.setCurrent();
    try {
    GLContext.useContext(this.glcanvas);
    } catch(LWJGLException e) {
    e.printStackTrace();
    }
    GL11.glViewport(2, 2, bounds.width-2, bounds.height-2);

    this.setupGLParameters();
    //this.setupGLPerspective(bounds);

    // display world reference frame - camera eye
    GL11.glMatrixMode( GL11.GL_MODELVIEW );
    GL11.glLoadIdentity();

    GL11.glScalef(this.zoomFactor, this.zoomFactor,
    this.zoomFactor );

    // translate the following model with respect of the camera
    GL11.glTranslatef(this.translate[0], this.translate[1],
    this.translate[2]);

    GL11.glRotatef(this.rotate[0], 1f, 0f, 0f);
    GL11.glRotatef(this.rotate[1], 0f, 1f, 0f);
    GL11.glRotatef(this.rotate[2], 0f, 0f, 1f);

    // zoom the model
    GL11.glScalef(this.zoomFactor, this.zoomFactor,
    this.zoomFactor );

    }

    Pozdrawiam

    AP


  • 2. Data: 2010-12-14 10:41:46
    Temat: Re: Open GL - obroty
    Od: "Wojciech \"Spook\" Sura" <s...@s...please.op.pl>

    Dnia 14-12-2010 o 00:18:13 Andrzej <a...@g...com> napisał(a):
    (...)

    Jeśli właściwie zrozumiałem pytanie, to obróć świat tak, by osie układu
    współrzędnych dopasować do osi kamery, następnie wykonaj odpowiednie
    obroty, a potem obróć świat z powrotem :)

    > Pozdrawiam
    > AP

    Pozdrawiam -- Spook.

    --
    Używam klienta poczty Opera Mail: http://www.opera.com/mail/

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: