|
27.12.2011, 00:52
|
#1
|
Нуждающийся
Регистрация: 23.02.2011
Сообщений: 54
Написано 3 полезных сообщений (для 5 пользователей)
|
DirectX and WinAPI(GDI)
Добрый вечер!
Возможно ли получив у поверхности(surface) контекст устройства(DC) рисовать в ней методами GDI?
Примерно так:
HDC hdc;
sur->GetDC(&hdc);
Rectangle(hdc,0,0,10,10);
|
(Offline)
|
|
28.12.2011, 18:39
|
#2
|
Нуждающийся
Регистрация: 23.02.2011
Сообщений: 54
Написано 3 полезных сообщений (для 5 пользователей)
|
Ответ: DirectX and WinAPI(GDI)
Спасибо большое! Ответил на свой же вопрос - это возможно!))
Кстате, не плохой способ 2д графику выводить!)
|
(Offline)
|
|
28.12.2011, 19:30
|
#3
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: DirectX and WinAPI(GDI)
Плохой сопсоб 2D графику выводить. Около 10 лет назад от этого специально ушли.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Knightmare за это полезное сообщение:
|
|
28.12.2011, 21:56
|
#4
|
Нуждающийся
Регистрация: 23.02.2011
Сообщений: 54
Написано 3 полезных сообщений (для 5 пользователей)
|
Ответ: DirectX and WinAPI(GDI)
Сообщение от Knightmare
Плохой сопсоб 2D графику выводить. Около 10 лет назад от этого специально ушли.
|
Микромягкие не отказались, они написали специальное апи для работы с видеокартой, а gdi полезно использовать при написание простых оконных приложений. Фактически мне в нем нужны были только функции отрисовки примитивов, а то полигонами окружность сложно рисовать, а заполняя вручную информацию в поверхности - геморройно.
|
(Offline)
|
|
28.12.2011, 21:59
|
#5
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: DirectX and WinAPI(GDI)
Кэп подсказывает - ушли от использования GDI в играх, ибо медленно. Если для тебя проблема нарисовать окружность, то тебе не стоит писать движка, ага.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.12.2011, 23:54
|
#6
|
Нуждающийся
Регистрация: 23.02.2011
Сообщений: 54
Написано 3 полезных сообщений (для 5 пользователей)
|
Ответ: DirectX and WinAPI(GDI)
Сообщение от Knightmare
Кэп подсказывает - ушли от использования GDI в играх, ибо медленно. Если для тебя проблема нарисовать окружность, то тебе не стоит писать движка, ага.
|
DirectX была написана, не для тупой отрисовки, ее написали для 95й винды, чтоб возможно было получить более простой доступ к аппаратной части компьютера. GDI использует те же принципы, что и directX(а возможно и вообще директ), но в гди идет отрисовка в необнавляемую часть окна, которая обновляется по сообщению, а из-за того, что сообщений много отрисовка замедленная и иногда с мерцанием. А я использую отрисовку гди для отрисовки простой геометрии в задний буфер, под геометрией я не подразумеваю треугольники, я имею ввиду, фигуры, которые сложно нарисовать используя треугольники.
А кто говорил, что для меня проблема нарисовать окружность, мне просто лень . А так, как я хочу написать двиг без использования сторонних библиотек, только на WinApi и DirectX, то имеющиеся в гди функции отрисовки окружности и многогранника, мне облегчат работу, ведь не факт, что моя функция будет производительней их.
|
(Offline)
|
|
29.12.2011, 09:44
|
#7
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: DirectX and WinAPI(GDI)
Картинку фейспалма нагугли себе сам, я последнее время жутко ленив.
Потом почитай и осмысли принципы работы DX и GDI. Потом подумай на сколько порядков даже самая кривая функция отрисовки откружности через DX будет быстрее GDI.
P.S.
>А кто говорил, что для меня проблема нарисовать окружность, мне просто лень
>А так, как я хочу написать двиг без использования сторонних библиотек, только на WinApi и DirectX
/0
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
29.12.2011, 12:52
|
#8
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: DirectX and WinAPI(GDI)
Нет слов. GDI использует DirectX. Шок.
Про мерцание из-за оконных сообщение вообще убило!
Одно из преимуществ использования GDI вместо прямого доступа к оборудованию — это унификация работы с различными устройствами
|
это означает, что это явно медленнее DirectX
|
(Offline)
|
|
29.12.2011, 17:37
|
#9
|
Нуждающийся
Регистрация: 23.02.2011
Сообщений: 54
Написано 3 полезных сообщений (для 5 пользователей)
|
Ответ: DirectX and WinAPI(GDI)
Ну ладно ладно, согласен, уделали))) Кто в жизни не заблуждался))
|
(Offline)
|
|
29.12.2011, 21:49
|
#10
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: DirectX and WinAPI(GDI)
Сообщение от 616}[aKeP
Ну ладно ладно, согласен, уделали))) Кто в жизни не заблуждался))
|
чувак делай как правильно, а не как тебе легче
|
(Offline)
|
|
29.12.2011, 22:15
|
#11
|
Нуждающийся
Регистрация: 23.02.2011
Сообщений: 54
Написано 3 полезных сообщений (для 5 пользователей)
|
Ответ: DirectX and WinAPI(GDI)
Да просто, я без понятия, как в движке нормально реализовать 2д графику. Прямой доступ к заднему буферу, как я понял, невозможен при попытке изменить данные в заднем буфере вылетает ошибка в адресе памяти. Я хотел рисовать все в текстуру размером с окно и отрисовывать ее перед концом сцены, но это тоже не вариант, слишком долго. Короче я пока просты, испытываю разные средства, чтоб понять то о чем не говорится не в одной книге о, директе.
|
(Offline)
|
|
30.12.2011, 10:57
|
#12
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: DirectX and WinAPI(GDI)
Берешь квад, натягиваешь текстуру, рисуешь, ???, ПРОФИТ. Самый простой вариант.
|
(Offline)
|
|
30.12.2011, 14:46
|
#13
|
Нуждающийся
Регистрация: 23.02.2011
Сообщений: 54
Написано 3 полезных сообщений (для 5 пользователей)
|
Ответ: DirectX and WinAPI(GDI)
Да вывод изображений я сделал, просто иногда нужно вывести, какую-нибудь простую геометрию помимо линий и треугольников)
|
(Offline)
|
|
08.01.2012, 10:08
|
#14
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений (для 6,854 пользователей)
|
Ответ: DirectX and WinAPI(GDI)
Сообщение от 616}[aKeP
Да вывод изображений я сделал, просто иногда нужно вывести, какую-нибудь простую геометрию помимо линий и треугольников)
|
Что за простая геометрия?
Кстати говоря Windows7 уже практически не использует GDI.
Конечно есть возможность насильно включить GDI но будет медленнее и уродливее .
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:25.
|