Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Illuxa77
1 / 1 / 1
Регистрация: 05.01.2014
Сообщений: 15
#1

На чем сейчас программируют графику? - C++

04.04.2016, 01:34. Просмотров 770. Ответов 13
Метки нет (Все метки)

Помогите решить вопрос.Начал работать в с++ с графикой,изучил уже существующие темы,но так и не смог для себя найти ответ,на чем сейчас программируют графику(именно в плюсах)?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2016, 01:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос На чем сейчас программируют графику? (C++):

Как в играх программируют графику? - C++
Интересно просто, как разработчики программируют графику для игр? Что они при этом используют?

На каком языке программируют игры на psp ? - C++
Написал в разделе С++ так как тут больше народу . Подскажите , на каком языке программируют игры на PSP ? И вообще есть ли перспектива...

В чем делать графику - Java SE
Привет. Хочу сделать более менее нормальную графику для игры на джаве, до этого момента никогда с графикой не работал, только консоль,...

Кто чем сейчас снимает образы системы - Windows Server
Вообщем пришел в контору, сервак контролер домена с несколькими прогами два харда по 500, сделаны были без зеркала сами по себе. Наконец то...

Раньше все работало сейчас перестало в чем проблема ? - CMD/BAT
Вчера только все запускал все работало, а сегодня глюк какой-то ???? echo установка даты set dd=%DATE% set tt=%TIME% echo %dd% ...

Если бы процессоры интела стоили в 3 раза дороже чем сейчас - Процессоры
Если бы процессоры интела стоили в 2 раза дороже чем сейчас Покупал и дальше Искал бы альтернативу Перешел бы на АМД Затрудняюсь...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Fulcrum_013
664 / 732 / 72
Регистрация: 14.12.2014
Сообщений: 5,701
Завершенные тесты: 3
04.04.2016, 01:57 #2
Цитата Сообщение от Illuxa77 Посмотреть сообщение
на чем сейчас программируют графику(именно в плюсах)
Ну на плюсах и программируют. Если вопрос с использованием каких библиотек - то преимущественно DirectX и OpenGL. Это если вопрос касается современной игровой графики. Есть еще специализированные библиотеки для к примеру трассировки лучей, расчета реального диффузного освещения и т.д. и т.п. Для игровой графики это в лучшем случае следующее поколение, потому как методы далеко не реалтаймовые. Но опять же это только способы визуализации. Сама графика понятие очень и очень обширное. К примеру обработка самих 3D моделей, в том числе построение из них комбинаций типа пересечений и т.д., аппроксимация параметрически заданных моделей наборами примитивов (обычно треугольников или поверхностей Безъе) и т.д. и т.п тоже относится к алгоритмам машинной графики.
Illuxa77
1 / 1 / 1
Регистрация: 05.01.2014
Сообщений: 15
04.04.2016, 02:01  [ТС] #3
Да,неправильно сформулировал,интересовало какие библиотеки используют)Спасибо за ответ.
Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
04.04.2016, 02:04 #4
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
double ScreenW, ScreenH; 
 
private float devX; 
private float devY; 
 
// массив, который будет хранить значения x,y точек графика 
private float[,] GrapValuesArray; 
private int elements_count = 0; 
private bool not_calculate = true;
private int pointPosition = 0; 
float lineX, lineY; 
// текущение координаты курсора мыши 
float Mcoord_X = 0, Mcoord_Y = 0; 
 
 
private void Form1_Load(object sender, EventArgs e) 
{ 
 
  // инициализация библиотеки glut 
  Glut.glutInit(); 
  Glut.glutInitDisplayMode(Glut.GLUT_RGB | Glut.GLUT_DOUBLE); 
  Gl.glClearColor(255, 255, 255, 1); 
  Gl.glViewport(0, 0, AnT.Width, AnT.Height); 
  Gl.glMatrixMode(Gl.GL_PROJECTION); 
  // очистка матрицы 
  Gl.glLoadIdentity(); 
 
  if ((float)AnT.Width <= (float)AnT.Height) 
  { 
    ScreenW = 30.0; 
    ScreenH = 30.0 * (float)AnT.Height / (float)AnT.Width; 
    Glu.gluOrtho2D(0.0, ScreenW, 0.0, ScreenH);
  } 
  else 
  {
    ScreenW = 30.0 * (float)AnT.Width / (float)AnT.Height; 
    ScreenH = 30.0; 
    Glu.gluOrtho2D(0.0, 30.0 * (float)AnT.Width / (float)AnT.Height, 0.0, 30.0);
  } 
 
  // сохранение коэффициентов
  devX = (float)ScreenW / (float)AnT.Width; 
  devY = (float)ScreenH / (float)AnT.Height; 
  Gl.glMatrixMode(Gl.GL_MODELVIEW); 
 
  // старт счетчика
  PointInGrap.Start();
 
}
Добавлено через 1 минуту
Простое создание графики.
Illuxa77
1 / 1 / 1
Регистрация: 05.01.2014
Сообщений: 15
04.04.2016, 02:10  [ТС] #5
Я c Direct и opengl пересекался уже,и знаю как простые приложения создавать,просто интересно на чем сейчас кодят в графику в приоритете
Valeryn
41 / 25 / 5
Регистрация: 17.05.2015
Сообщений: 163
04.04.2016, 03:00 #6
Цитата Сообщение от Illuxa77 Посмотреть сообщение
Я c Direct и opengl пересекался уже,и знаю как простые приложения создавать,просто интересно на чем сейчас кодят в графику в приоритете
на OpenGL 4 | Vulkan | DirectX 11, 12.

Если ты изучал такой синтаксис:
C++
1
2
3
4
5
6
glBegin();
 
  glPoint();
  glColor();
 
glEnd();
То забудь все что учил. Переучивай, изучай шейдеры.
Fulcrum_013
664 / 732 / 72
Регистрация: 14.12.2014
Сообщений: 5,701
Завершенные тесты: 3
04.04.2016, 03:19 #7
Цитата Сообщение от Illuxa77 Посмотреть сообщение
просто интересно на чем сейчас кодят в графику в приоритете
На полную инициализацию свежей версии OpenGL нужно порядка 20 тыс строк кода. Из них 2,500 список функций. На нем и кодят. Или на свежем DX. Там с инициализацией попроще. Но вконечном итоге суть - закинуть все в буфера карты установит нужные матрицы и в нужном порядке вызвать отрисовку. А сам рассчет как чего рисуется, освещается,налагаются текстуры, и т.д и тп. уже в шейдерах которые на HLSL или GLSL. (c-подобные языки программирования шейдеров). Скачай DirectX 11 SDK. там в комплекте полный набор примеров, от треугольника до анимированных персонажей и каскадных теней.
zss
Модератор
Эксперт С++
6358 / 5922 / 1919
Регистрация: 18.12.2011
Сообщений: 15,219
Завершенные тесты: 1
04.04.2016, 08:42 #8
Shamsik, Ваш код написан на C#, а не на C++
Illuxa77
1 / 1 / 1
Регистрация: 05.01.2014
Сообщений: 15
04.04.2016, 10:58  [ТС] #9
Да,такое и учил(((
Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
04.04.2016, 10:59 #10
Я знаю.
Illuxa77
1 / 1 / 1
Регистрация: 05.01.2014
Сообщений: 15
04.04.2016, 11:05  [ТС] #11
glBegin();

glPoint();
glColor();

glEnd();

Это и учил(
А какие тогда хорошие книги есть по OpenGl?Можете чтото посоветовать?
SatanaXIII
Супер-модератор
Эксперт С++
5609 / 2643 / 244
Регистрация: 01.11.2011
Сообщений: 6,502
Завершенные тесты: 1
04.04.2016, 12:38 #12
Цитата Сообщение от Shamsik Посмотреть сообщение
Я знаю.
А зачем тогда воткнули теги от C++?
Valeryn
41 / 25 / 5
Регистрация: 17.05.2015
Сообщений: 163
05.04.2016, 05:15 #13
Цитата Сообщение от Illuxa77 Посмотреть сообщение
какие тогда хорошие книги есть по OpenGl?Можете чтото посоветовать?
OpenGL 4. Язык шейдеров. Книга рецептов.
Но перед тем как начать эту книгу изучать, тебе как минимум нужно знать сам C/C++.
Знать как инициализировать окно с помощью GLFW или Glut, или freeglut, или Qt, или WinAPI.
Знать как юзать OpenGL Loader Generator (В книге это рассматривается) или юзать Glew.
Автор не дает готовые куски кода под копипасту (хотя есть ссылка на его гитхаб с полными примерами. Но там он юзает и glew и glload. А окно рисует и Glutом и GLFW).

В интернете есть уроки по OpenGL 4, гугли. И на WinAPI и на GLFW и на glut'е.
Nosey
1347 / 398 / 107
Регистрация: 22.10.2014
Сообщений: 862
Завершенные тесты: 2
05.04.2016, 10:21 #14
Лучшая информация по openGl, это спецификации :
glspec44.core.pdf
GLSLangSpec.4.40.pdf
И в бонус : opengl44-quick-reference-card.pdf
Они написаны очень хорошо, почти как книги, при этом предоставляют полную информацию.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2016, 10:21
Привет! Вот еще темы с ответами:

Откуда компьютер знает сколько сейчас времени, и какая сейчас дата? - Материнские платы
Вопрос состоит не на программном уровне, а на уровне железа. Я понимаю есть небольшое устройство подключенное к автономному источнику...

На чём программируют роботов? - Разработка ПО
Попрошу постить сюда названия языков, на которых программируют роботов. Не срочно. Можно отвечать при любой давности.

на каком языке виндоуз программируют? - Windows Phone
на каком языке виндоуз программируют? Добавлено через 57 минут можете удалять нашел с#

Почему все говорят, что программируют на Delphi, а не на Pascal? - Delphi
Почему все говорят, что программируют на Delphi, а не на Pascal? Или, аналогично, почему говорят, что программируют на Lazarus, а не на...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.04.2016, 10:21
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru