dir.by  
  Поиск  
Компьютер, программы
C++
OpenGL
 Создаем новое OpenGL приложение на C++ | библиотека GLUT, Visual Studio 
посмотрели 8669 раз
обновлено: 20 декабря 2024
Скачать пример рисующий линию на OpenGL
ProjectConsoleC++.zip ...
размер: 80 киллобайт
Шаг 1. Открываем Visual Studio
Если у вас не установлена Visual Studio нужно установить Visual Studio...
Открываем Visual Studio 2022
или
Открываем Visual Studio 2019
Шаг 2. Создадим новое C++ консольное приложение
Выбираем: Console App
Создался вот такой проект:
Запустим программу:
Увидим результат:
Шаг 3. Скачаем библиотеку GLUT как zip
GLUT это библиотека.
GLUT создает окно в котором рисуется OpenGL графика
GLUT библиотека получает события от клавиатуры и мыши

Скачиваем GLUT библиотеку:
Вариант 1. Скачать zip напрямую
Вариант 2. Скачать zip с официального сайта opengl.com
glutdlls37beta.zip ...
размер: 130 киллобайт
В Google Chrome открываем www.opengl.org/resources/libraries/glut/glut_downloads.php

нажимаем на glutdlls37beta.zip

 
Внутри glutdlls37beta.zip вот такие файлы:
Шаг 4. Добавим файлы GLUT в C++ проект
Мой C++ консольный проект находится в папке:
D:\ProjectConsoleC++

Скопируем GULT файлы внутрь C++ консольного проекта:
glut32.lib
D:\ProjectConsoleC++\lib\glut32.lib
На заметку! Папки lib у меня не было и я сам создал
 
glut.h
D:\ProjectConsoleC++\include\glut.h
На заметку! Папки include у меня не было и я сам создал
 
glut32.dll
D:\ProjectConsoleC++\Debug\glut32.dll
На заметку! Также надо
добавить lib\glut32.lib внутри Visual Studio вот так:
Properties → Linker → Input → Additional Dependences → lib\glut32.lib
Шаг 5. Добавим C++ код для рисования линии
  Файл ProjectConsoleC++.cpp
#include "include/glut.h"
#include <iostream>

void MyDrawFunction();

int main(int argc, char** argv)
{
     glutInit(&argc, argv);
     glutInitWindowSize(640, 480);
     glutInitWindowPosition(10, 10);
     glutCreateWindow("My OpenGL application");
    
     glClearColor(1.0, 1.0, 1.0, 0.0);
     glMatrixMode(GL_PROJECTION);
     glLoadIdentity();
     gluOrtho2D(0.0, 640.0, 0.0, 480.0);

     glutDisplayFunc(MyDrawFunction);

     glutMainLoop();
     return 0;
}

void MyDrawFunction()
{
     glClear(GL_COLOR_BUFFER_BIT);
     glColor3f(1.0, 0.0, 0.0);
     glPointSize(2.0);

     // green color
     glColor3ub(0, 255, 0);

     // draw line (by pixel)
     for (int i = 100; i < 300; i++)
     {
          glBegin(GL_POINTS);
          glVertex2i(i, i); // x=i, y=i
          glEnd();
     }

     glFlush();
}
Шаг 6. Запустим проект и увидим рисование линии OpenGL
 
Увидим результат:
Еще OpenGL приложение
 
← Предыдущая тема
Передаем функцию как параметр в функцию (callback) | C++
 
Следующая тема →
Создаю OpenGL приложение с рисованием 3D пирамид и движущей камерой на C++ | Visual Studio | Библиотека glut для использования OpenGL
 
Ваши Отзывы ... 2 комментариев
гость
19 января 2025 12:07
Не работает вообще начиная с Шаг 4. Добавим файлы GLUT в C++ проект, так как архиве тупо нет h файла!.
admin (20 января 2025 10:20) Вы правы, добавил glut.h в glutdlls37beta.zip ... ответить
гость
9 февраля 2025 0:57
Толковый гайд!
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

Экскурсии по Москве Экскурсии по Москве: пешеходные, автобусные и речные прогулки на любой вкус
Анонс! Ярмарка вакансий для молодежи, работа (учащихся, которые хотели бы подработать в свободное время, а также выпускники)|||Минск, Витебск, Гомель, Гродно, Могилев, Борисов, Полоцк, Брест, Барановичи, Пинск с 13 по 17 апреля 2026
  Объявления  
  Объявления  
 
dynamic_cast в C++ (преобразование указателя в другой тип и проверка валидности во время выполнения)
std::map<Key, Value> это набор ключей и значений в C++. Важная особенность std::map это быстро найти значение по ключу
Передаем функцию как параметр в функцию (callback) | C++
OpenGL
Создаем новое OpenGL приложение на C++ | библиотека GLUT, Visual Studio
Создаю OpenGL приложение с рисованием 3D пирамид и движущей камерой на C++ | Visual Studio | Библиотека glut для использования OpenGL
Создаем новое OpenGL ES2 приложение на C++ в Windows | Visual Studio, Desktop application

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика