Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /******************************************************/
- public void Resize()
- {
- // perspektiva
- Gl.glViewport(0, 0, m_width, m_height);
- Gl.glMatrixMode(Gl.GL_PROJECTION);
- Gl.glLoadIdentity();
- Glu.gluPerspective(45.0, m_width /(double)m_height, 0.5, 16.0);
- Gl.glMatrixMode(Gl.GL_MODELVIEW);
- Gl.glLoadIdentity();
- float[] spotLightPos = { -0.8f, 2.0f, 0.0f, 1.0f };
- //reflektor je stacionaran-transformacije ne uticu na njega
- Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_POSITION, spotLightPos);
- }
- /******************************************************/
- #region Atributi
- ..
- float[] spotLightDirection = { 0.0f, -0.48f, -0.6f};
- ..
- #endregion
- /******************************************************/
- public void Draw()
- {
- Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT);
- //scena
- Gl.glPushMatrix();
- Glu.gluLookAt(0.0f, 0.2f, 0.5f, //ka lopti, eye
- 0.0f, 0.0f, 0.0f, //center
- 0.0f, 1.0f, 0.0f);//da ne bude naopacke
- #region scena
- Gl.glTranslatef(0.0f, 0.0f, -m_sceneDistance); // m_sceneDistance = 1.3f;
- Gl.glRotatef(m_xRotation, 1.0f, 0.0f, 0.0f); //omoguci rotaciju po x
- Gl.glRotatef(m_yRotation, 0.0f, 1.0f, 0.0f); //omoguci rotaciju po y
- Gl.glRotatef(180.0f, 0.0f, -1.0f, 0.0f); //rotacija scene
- DrawScene();
- Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_SPOT_DIRECTION, spotLightDirection);
- //Gl.glTranslated(spotLightDirection[0],spotLightDirection[1],spotLightDirection[2]);
- //IscrtajTestObjekat();
- #endregion
- .......
- /******************************************************/
- private void DrawScene()
- {
- #region postolje
- .....
- //temena postolja
- Gl.glBegin(Gl.GL_QUADS);
- Gl.glNormal3f(0.0f, 1.0f, 0.0f);
- Gl.glVertex3f(-0.65f, -0.49f, 0.7f);
- Gl.glVertex3f(-0.65f, -0.49f, -0.7f);
- Gl.glVertex3f( 0.65f, -0.49f, -0.7f);
- Gl.glVertex3f( 0.65f, -0.49f, 0.7f);
- Gl.glEnd();
- ...
- /******************************************************/
- private void Initialize()
- {
- ...
- Gl.glEnable(Gl.GL_LIGHTING);
- //reflektor
- float[] ambientLight = { 0.1f, 0.1f, 0.1f, 1.0f };
- float[] diffuseLight = { 1.0f, 1.0f, 1.0f, 1.0f };
- Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_AMBIENT, ambientLight);
- Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_DIFFUSE, diffuseLight);
- Gl.glLightf(Gl.GL_LIGHT0, Gl.GL_SPOT_CUTOFF, 25.0f);
- Gl.glLightf(Gl.GL_LIGHT0, Gl.GL_SPOT_EXPONENT, 64.0f);
- Gl.glEnable(Gl.GL_LIGHT0);
- //problem - model lopte je crn !
- //tackasto
- float[] red_light = { 0.1f, 0.0f, 0.0f, 1.0f };
- float[] pointDiffuse = { 1.0f, 1.0f, 1.0f, 1.0f };
- Gl.glLightfv(Gl.GL_LIGHT1, Gl.GL_AMBIENT, red_light);
- Gl.glLightfv(Gl.GL_LIGHT1, Gl.GL_DIFFUSE, pointDiffuse);
- Gl.glLightf(Gl.GL_LIGHT1, Gl.GL_SPOT_CUTOFF, 180.0f); //sad je point
- Gl.glEnable(Gl.GL_LIGHT1);
- #endregion
- ..
- /******************************************************/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement