Я хочу получить следующий результат в OpenGL (и C++): у меня есть сюжет, который я хочу использовать в качестве фона анимации, и я хочу, чтобы это было исправлено, когда некоторые точки перемещаются его поверхности. Например (см. Изображение): Я хочу рассчитать график уровня 3 функции переменных (черно-белый на фотографии), я хочу установить его как фон и показать анимацию точек, перемещающихся по поверхности (красные точки в фотография). Каков наилучший способ достичь этого и иметь хорошие результаты?Установить изображение в качестве фона в Open GL
ответ
Одним из возможных вариантов было бы сделать фоновое изображение в качестве текстуры на четверного позади других точек (например, указывает на Z = 0,1, четырехугольника при Z = 0,2). Поскольку вы (предположительно) не хотите, чтобы квадрат масштабировался по сравнению с точками, вы, вероятно, захотите использовать орфографическую проекцию, а не перспективу.
Это действительно зависит от того, какую версию OpenGL вы используете.
Если вы используете SDL и OpenGL 2.x, это очень просто, но если вы используете что-то вроде GLFW и OpenGL 3.x, это будет довольно сложно.
Но это, как вы могли бы сделать это с SDL и OpenGL 2.1 (не весь код включен, то вам придется писать некоторые из них сами):
void plot(SDL_Surface *surf, int x, int y, int r, int g, int b)
{
int color = SDL_MapRGB(surf->format, r, g, b);
Uint32 *framebuffer = (Uint32*) surf->pixels;
framebuffer[y * surf->w + x] = color;
}
int main()
{
/* set up SDL and OpenGL */
SDL_Surface *img = SDL_LoadBMP("base_background.bmp");
/* plot functions like this: */
plot(img, x, f(x), 255, 0, 0); // example colours
/* create an OpenGL surface(code can be found on google easily) */
GLuint tex = create_GL_texture(img);
/* draw it like you would normally */
glBindTexture(GL_TEXTURE_2D, tex);
glBegin(GL_QUADS);
...
glEnd();
return 0;
}
Для OpenGL 3.x, то немного сложнее. Вы можете найти учебники here.
- 1. Установить изображение в качестве фона
- 2. Установить изображение в качестве фона в div
- 3. Сохранить изображение из Open GL
- 4. Как установить цвет фона на Open GL ES Android
- 5. Невозможно установить изображение в качестве фона UILabel
- 6. Как установить изображение в качестве фона?
- 7. установить изображение в качестве фона элемента-брата
- 8. Как установить изображение в качестве фона JPanel
- 9. Как установить изображение в качестве кнопки фона
- 10. PHP - Установить сгенерированное изображение в качестве фона
- 11. Установить изображение в качестве фона для DrawingArea
- 12. Как установить изображение в качестве фона графика?
- 13. Установить изображение в качестве фона для JFrame
- 14. Прокрутка в Open GL ES
- 15. Перенос IRIS GL в Open GL?
- 16. Как установить изображение в качестве фона, без свойства фона?
- 17. gif изображение в качестве фона
- 18. Open GL одна линия в изображении отображается
- 19. Open GL Alternative?
- 20. Изображение в качестве фона div
- 21. PyQt4 Изображение в качестве фона
- 22. Как установить изображение в качестве фона в методе onReceivedError WebView?
- 23. Как установить изображение в качестве фона в ASP.NET?
- 24. Как установить изображение с камеры в качестве фона в swift
- 25. Как установить изображение в качестве фона в ASP.NET?
- 26. Установить изображение в качестве фона в приложении для Android.
- 27. Как преобразовать изображение при использовании Open GL Framebuffer в Android
- 28. Open GL: многопоточный glFlushMappedBufferRange?
- 29. Попытка понять Open GL
- 30. SVG изображение в качестве фона страницы xamarin
У вас есть фоновое изображение в виде файла? –
Я вижу десять кругов, десять дисков и пять точек на этом изображении. Сегодняшнее графическое оборудование легко управляет миллионами полигонов. Есть ли вообще какая-то причина в производительности? –