0 / 0 / 0
Регистрация: 08.09.2017
Сообщений: 40
1

Библиотека graphics.h

23.11.2017, 21:27. Показов 7531. Ответов 7
Метки нет (Все метки)

Здравствуйте, для практической работы нужно поработать с библиотекой graphics.h, однако она устарела и её нету в VS 15, подскажите чем её можно заменить? И поменялись ли синтаксисы команд из graphics.h?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2017, 21:27
Ответы с готовыми решениями:

Библиотека graphics.h
Доброго времени суток! Необходимо построить графики в библиотеке graphics.h. Сразу сталкиваюсь с...

у деф с++ есть библиотека graphics.h?
у деф с++ есть библиотека graphics.h? Добавлено через 1 минуту или что то добавить?

Где скачать Borland С++ с поддержкой graphics.h. Уроки по библеотеке graphics.h
Подскажите, нужен Borland С++ с поддержкой graphics.h. Я видел только 1 борланд и выглядело все там...

graphics.h
При компиляции примера графики, возникла проблема. Сначала вообще ничего не виводилось, потом...

7
1269 / 1026 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
23.11.2017, 21:31 2
Вариантов много: SFML, SDL, OpenGL, WinAPI, и т. д.
В крайнем случае можно запустить Turbo C++ под досбоксом.
1
Заклинатель змей
610 / 507 / 213
Регистрация: 30.04.2016
Сообщений: 2,412
23.11.2017, 21:31 3
Лучший ответ Сообщение было отмечено Gnomee как решение

Решение

Gnomee, заменить один к одному нечем. Если хотите работать с той самой graphics.h, то смотрите в сторону DosBox + BorlandC3.1 или Dev-C++, там вроде есть возможность использовать этот архаизм. Под современные IDE есть масса графических библиотек : Qt, SFML
1
likehood
23.11.2017, 21:35
  #4

Не по теме:

DobroAlex, поздравляю с 1000 постом!

0
Заклинатель змей
610 / 507 / 213
Регистрация: 30.04.2016
Сообщений: 2,412
23.11.2017, 21:37 5
likehood,

Не по теме:

спасибо:senor:

1
5056 / 2672 / 455
Регистрация: 05.10.2013
Сообщений: 7,127
Записей в блоге: 190
24.11.2017, 23:24 6
Цитата Сообщение от Gnomee Посмотреть сообщение
для практической работы нужно поработать с библиотекой graphics.h, однако она устарела и её нету в VS 15
Можете вкратце описать практическую работу?

К VS можно подключить FreeGLUT для создания окна из консольного приложения (то есть тип проекта "Win32 Console Application"). Проект для VS2015, который рисует линию с помощью версии OpenGL 3.3 Core: DrawingLine.rar

Вы найдёте в проекте папку "Libs", в которой лежат три библиотеки: freeglut, glew, glm. Эти библиотеки подключены в настройках проекта так:
Настройки
Configuration: All Configurations; Platforms: All Platforms
C/C++ -> Genaral -> Additional Include Directories:
$(SolutionDir).\Libs\glm-0.9.8.4
$(SolutionDir).\Libs\glew-2.0.0-win32\include
$(SolutionDir).\Libs\freeglut-MSVC-3.0.0-2.mp\freeglut\include
Linker -> Input -> Additional Dependencies
freeglut.lib
glew32s.lib

Configuration: All Configurations; Platforms: Win32
Linker -> General -> Additional Library Directories:
$(SolutionDir).\Libs\glew-2.0.0-win32\lib\Platform_Win32
$(SolutionDir).\Libs\freeglut-MSVC-3.0.0-2.mp\freeglut\lib\Platform_Win32
Build Events -> Post-Build Event
xcopy /y /d $(SolutionDir)Libs\freeglut-MSVC-3.0.0-2.mp\freeglut\freeglut_bin\Platform_Win32\freeglut .dll $(OutDir)

Configuration: All Configurations; Platforms: x64
Linker -> General -> Additional Library Directories:
$(SolutionDir).\Libs\glew-2.0.0-win32\lib\Platform_x64
$(SolutionDir).\Libs\freeglut-MSVC-3.0.0-2.mp\freeglut\lib\Platform_x64
Build Events -> Post-Build Event
xcopy /y /d $(SolutionDir)Libs\freeglut-MSVC-3.0.0-2.mp\freeglut\freeglut_bin\Platform_x64\freeglut.d ll $(OutDir)


main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#define GLEW_STATIC
 
#include <GL/glew.h>
#include <GL/freeglut.h>
 
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>
 
#include <string>
#include <iostream>
using namespace std;
 
extern "C" _declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
 
const char *vertexShaderSource =
"#version 330\n \
 \
in vec2 a_Position; \
 \
void main()\
{ \
    gl_Position = vec4(a_Position, 0.0, 1.0); \
    gl_PointSize = 10.0; \
}";
 
const char *fragmentShaderSource =
"#version 330\n \
 \
precision mediump float; \
out vec4 fragColor; \
 \
void main()\
{ \
    fragColor = vec4(1.0, 0.0, 0.0, 1.0); \
}";
 
void CheckShaderCompileStatus(GLuint shader)
{
    GLint status;
    glGetShaderiv(shader, GL_COMPILE_STATUS, &status);
    if (status == GL_FALSE)
    {
        GLint infoLogLength;
        glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLogLength);
        GLchar *infoLog = new GLchar[infoLogLength];
        glGetShaderInfoLog(shader, infoLogLength, NULL, infoLog);
        cerr << "Compile log: " << infoLog << endl;
        delete[] infoLog;
    }
}
GLuint vao;
void Display()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glBindVertexArray(vao);
    glDrawArrays(GL_LINES, 0, 2);
    glutSwapBuffers();
}
 
int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
    glutInitContextVersion(3, 3);
    glutInitContextFlags(GLUT_CORE_PROFILE | GLUT_DEBUG);
    glutInitWindowSize(500, 500);
 
    string title = "Drawing a line";
    glutCreateWindow(title.c_str());
    cout << title << endl;
 
    glewInit();
 
    GLuint vShader = glCreateShader(GL_VERTEX_SHADER);
    glShaderSource(vShader, 1, &vertexShaderSource, NULL);
    glCompileShader(vShader);
    CheckShaderCompileStatus(vShader);
 
    GLuint fShader = glCreateShader(GL_FRAGMENT_SHADER);
    glShaderSource(fShader, 1, &fragmentShaderSource, NULL);
    glCompileShader(fShader);
    CheckShaderCompileStatus(fShader);
 
    GLuint program = glCreateProgram();
    glAttachShader(program, vShader);
    glAttachShader(program, fShader);
    glLinkProgram(program);
    glUseProgram(program);
    GLint status;
    glGetProgramiv(program, GL_LINK_STATUS, &status);
    if (status == GL_FALSE)
    {
        GLint infoLogLength;
 
        glGetProgramiv(program, GL_INFO_LOG_LENGTH, &infoLogLength);
        GLchar *infoLog = new GLchar[infoLogLength];
        glGetProgramInfoLog(program, infoLogLength, NULL, infoLog);
        cerr << "Link log: " << infoLog << endl;
        delete[] infoLog;
    }
 
    GLfloat vertices[] = { 0.0f, 0.0f, 0.5f, 0.5f };
 
    GLuint vbo;
    glGenBuffers(1, &vbo);
    glBindBuffer(GL_ARRAY_BUFFER, vbo);
    glBufferData(GL_ARRAY_BUFFER, 4 * sizeof(GLfloat), vertices, GL_STATIC_DRAW);
 
    glGenVertexArrays(1, &vao);
    glBindVertexArray(vao);
    glEnableVertexAttribArray(0);
    glBindBuffer(GL_ARRAY_BUFFER, vbo);
 
    GLint a_Position = glGetAttribLocation(program, "a_Position");
    glVertexAttribPointer(a_Position, 2, GL_FLOAT, GL_FALSE, 0, NULL);
    glEnableVertexAttribArray(a_Position);
 
    glEnable(GL_PROGRAM_POINT_SIZE);
 
    glutDisplayFunc(Display);
 
    glutMainLoop();
    return 0;
}
0
nd2
3431 / 2810 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
25.11.2017, 01:19 7
Цитата Сообщение от Gnomee Посмотреть сообщение
и её нету в VS 15
Собери из исходников в VS 15 - будет.
http://www.cs.colorado.edu/~main/bgi/source
Вложения
Тип файла: rar для 15 студии.rar (225.0 Кб, 45 просмотров)
1
3 / 3 / 0
Регистрация: 01.04.2018
Сообщений: 30
02.02.2019, 15:07 8
Файлы из архива действительно помогли решить проблему. Только сначала было непонятно что делать с библиотекой(программа писала, что происходит "ссылка на неразрешенный внешний символ" и указывала на функции, которые я использовал). Но потом стало понятно что нужно объявить библиотеку и всё заработает
C
1
#pragma comment (lib, "bgi.lib")
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.02.2019, 15:07
Помогаю со студенческими работами здесь

graphics.h
В Visual Studio 2012 не могу подключить graphics.h и &lt;alloc.h&gt;. В программировании новичок, и не...

<graphics.h>
Всем привет. Допустим, у меня есть двумерный массив BOOL. Как мне графически отрисовать его при...

Graphics
Хочу научиться в c++, используя Graphics, делать анимацию. Подскажите, пожалуйста, как это сделать...

Graphics
Используя графический модуль Graphics изобразить на экране цветное кольцо в движении. P.S....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru