Jump to content

[C++] OpenGL - odbicia i bufor szablonowy


bkdi

Recommended Posts

Witam, chciałbym w takiej scenie jak ta uzyskać odbicie stożka w półprzeźroczystej bryle (poniżej scena i kod):

http://img202.imageshack.us/i/scenau.jpg/

#include "StdAfx.h"
#include "openGLview.h"


openGLview::openGLview(void)
{
       stozek_dol = new CStozek(0,0,0,12,10,0.2,0.9,0,1);
       blat = new CProstopadloscian(200,6,100,0,-15,0,1,1,1,0.3);
}

openGLview::~openGLview(void)
{
}



void openGLview::display(void) 
{
       glEnable(GL_DEPTH_TEST); //uruchamiamy bufor głebi
       glClearColor(0,0.0,0,0);//ustawiamy kolor tła na czarny
       glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //czyoecimy bufory
       glEnable(GL_DEPTH_TEST); //uruchamiamy bufor głebi
       rysuj_figury(); //testowe rysowanie figur
       glutSwapBuffers();
       glutPostRedisplay(); // marks the current window as needing to be redisplayed.
}


void openGLview:: resize(int width, int height) 
{
       glViewport(0, 0, width, height);
       glMatrixMode(GL_PROJECTION);
       glLoadIdentity();
       gluPerspective(45.0, (float)width / (float)height, 0.1, 1000.0);
       glMatrixMode(GL_MODELVIEW);
       glLoadIdentity();
       gluLookAt( // ustawienie pocztkowe kamery
               0.0, 0.0, 250.0, // eye location
               0.0, 0.0, 0.0, // center location
               0.0, 1.0, 0.0); // up vector
}

void openGLview::rysuj_figury(void) 
{
       stozek_dol->kat=90;
       stozek_dol->Rysuj();
       glEnable(GL_BLEND);
       glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
               blat->Rysuj();
       glDisable(GL_BLEND);
};

Ale to daje ten sam efekt co powyżej.

 

Proszę o pomoc!

Link to comment
Share on other sites

No tak, ale jak chce się osiągnąć szybki efekt (może nawet trochę gorszy :) ), to taki długi tutorial ma odwrotne działanie (czuje się nawał roboty :) ). A jak jest podstawowa metoda opisana na osiągnięcie takiego efektu to dla niewymagających złoty środek.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...