Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 20.12.2020
Сообщений: 223
1

Координаты

20.08.2021, 14:25. Показов 576. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня не сходятся координаты OpenGL и WinAPI, например я создал квадрат при размерах окна 500x500,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
glBegin(GL_TRIANGLE_FAN);
 
glColor3f(0.0f, 0.0f, 0.0f);
 
glVertex2f(0.5f, 0.5f);
 
glVertex2f(-0.5f, 0.5f);
 
glVertex2f(-0.5f, -0.5f);
 
glVertex2f(0.5f, -0.5f);
 
glEnd();
потом я включаю отслеживание нажатий левой кнопки мыши WM_LBUTTONDOWN, с условием
C++
1
2
3
4
if (coord_x > SCREEN_SIZE / 4 && coord_x < SCREEN_SIZE * 0.75 && coord_y > SCREEN_SIZE / 4 && coord_y < SCREEN_SIZE * 0.75)
{
    MessageBox(NULL, L"Нажато", L"Нажато", MB_ICONINFORMATION);
}
но у меня появляется уведомление со смешение в пикселей 10, 15, как пофиксить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.08.2021, 14:25
Ответы с готовыми решениями:

Определить координаты точки в окне, зная ее координаты в пространстве
Вопрос если простая возможность определить координаты точки в рабочей области, зная ее координаты в...

Координаты
Знакомлюсь с OpenGL&amp;FreeGlut и возник вопрос как сделать систему координат чтоб 0,0 был не по...

Координаты
Доброго времени суток! я начинающий в OpenGL. такой вопрос, у меня значения -1.0f и 1.0f это края...

Координаты OpenGL
Всем привет. Я хотел бы поднять тему, касающуюся перевода координат из WinForm в координаты Gl....

2
Модератор
2121 / 991 / 169
Регистрация: 23.07.2018
Сообщений: 3,328
Записей в блоге: 3
20.08.2021, 16:55 2
Почему они обязательно должны сходиться?
И для OpenGL, и для GDI можно независимо задавать преобразование координат, в которых рисует программа, в координаты устройства (окна).
0
6106 / 3460 / 1406
Регистрация: 07.02.2019
Сообщений: 8,794
20.08.2021, 18:08 3
MicMaclaynd, для начала, при чем тут вообще OpenGL?

Цитата Сообщение от MicMaclaynd Посмотреть сообщение
например я создал квадрат при размерах окна 500x500
Есть размеры окна, а есть размеры клиентской области(размеры фреймбуфера), которые как правило меньше размеров окна при дефолтном стиле.
Что такое SCREEN_SIZE и чему оно равно?
1) Если хотите создать окно с определёнными размерами фреймбуфера, то используйте функцию AdjustWindowRectEx для вычисления размеров окна со стилем. Эти размеры вы будете передавать в функцию создания окна(CreateWindow...).
2) Или же вычисляйте размеры фреймбуфера с помощью функции GetClientRect и уже их используйте в качестве SCREEN_SIZE (для окна 500x500 клиентская область будет не квадратная при дефолтном стиле, так что придется учитывать ширину и высоту)
0
20.08.2021, 18:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.08.2021, 18:08
Помогаю со студенческими работами здесь

OpenGL координаты
Проблема следующая: прикрутил OpenGL к C# через Tao Framework. В ней есть почти все из gl, glu и...

Текстурные координаты
Почему крайние текстурные координаты могут отличаться от 1.0? Например, максимальные текстурные...

OpenGl координаты
Пусть имеется окно 640х480. Opengl-координаты меняются от -1 до 1 по оси X и от -1 до 1 по оси Y....

Преобразование в нормализованные координаты
Добрый день. Начал изучать OpenGL(по статьям из хабра) и у меня возник вот такой вопрос, где лучше...

Координаты окна в OpenGL
glutInitWindowSize(WinWidth, WinHeight); glutInitWindowPosition(50, 50); ...

Некорректные координаты мыши
int mx = 0; int my = 0; bool down = false; bool up = false; void mouse(int button, int...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru