Привет, я пытаюсь нарисовать полупрозрачную сферу с помощью OpenGL / glut;
Я думаю, что проще всего опубликовать код: это то, что у меня есть на данный момент;
glutInit(&argc, argv);
sf::ContextSettings settings;
settings.depthBits = 32;
settings.stencilBits = 0;
settings.antialiasingLevel = 0;
sf::Window window(sf::VideoMode(800, 600), "insert title", sf::Style::Default, settings);
window.setVerticalSyncEnabled(true);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
glClearColor(0.0,0.0,0.0,0.0);
bool running = true;
while(running)
{
sf::Event e;
while(window.pollEvent(e))
{
if(e.type == sf::Event::Closed)
{
running = false;
}
if(e.type == sf::Event::Resized)
{
glViewport(0, 0, e.size.width, e.size.height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0, (double)e.size.width / (double)e.size.height, 0.1, 2000.0);
gluLookAt(0,0,0, 1,0,0, 0,1,0);
glMatrixMode(GL_MODELVIEW);
}
}
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
glColor4d(1.0, 0.0, 0.0, 0.5);
glutWireSphere(0.5, 4, 4);
window.display();
}
Прогонял эту штуку под optirun и без optirun ... Но никакой прозрачности!
Я где-то читал, что у контекста должен быть альфа-буфер ... Поддерживает ли это SFML?