Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2011, 20:38   #1
drlike
Новичок
Джуниор
 
Регистрация: 10.08.2011
Сообщений: 5
Плохо Программирование видеоадаптера на низком уровне

Здравствуйте.

Знаю, что тема выглядит глуповато, но все же, я думаю, что открыть ее - это верный шаг.

Играя в разные ЗД-видеоигры, я часто натыкался на разнообразные ограничение самого движка игры. И у меня появился в голове свой алгоритм, для принципиально нового движка. Но у меня довольно плохо со знаниями матчасти: С++, немного АСМ, и немного ЗД Макс - все, что я знаю. И прежде чем делать что-нибуть серьезное, я бы хотел освоить программирование для видеоадаптера на самом низком уровне, пока без всяких там дайректиксов и опенджиэлеей.

Можете помочь мне с литературой? Для начала хочу написать программу на асме (MASM), которая сможет выйти в полноэкранный режим, будет отображать точки с определенными координатами и передвигать их по определенным правилам. Хочу увидеть, как оно работает, но даже не знаю, как и где искать.

Заранее благодарен.
drlike вне форума Ответить с цитированием
Старый 10.08.2011, 22:00   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

глупое желание, слишком низко лезть не стоит, ибо на практике под винду вы писать не сможете.(а писать драйвер...не особо имеет толк)

изучайте DirectX/OpenGL, и пишите свой двиг.
Цитата:
я часто натыкался на разнообразные ограничение самого движка игры.
они связаны с тем что у разработчиков или нет желания делать подробнее, или же аппаратура(обычно средняя) не тянет, или же нет средств на больше и тп и тп.

с 3D графикой на низком уровне с использованием средств видеокарты(а не программно) документации не имеет, ибо драйвера пишут разработчики продукта(видюхи)
да и не стоит лезть туда, если вы чтото не так сделаете можете чтото поломать.
Цитата:
Для начала хочу написать программу на асме (MASM), которая сможет выйти в полноэкранный режим, будет отображать точки с определенными координатами и передвигать их по определенным правилам.
это то просто, но отнюдь не из винды такое надо делать.

или вы считаете себя умнее разработчиков видеокарт?

не туда полезли, лучше изучите то что есть.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.08.2011, 23:17   #3
drlike
Новичок
Джуниор
 
Регистрация: 10.08.2011
Сообщений: 5
Радость

Желание глупое, не спорю. Если оценить ситуацию здраво, то шансов создать что-то принципиально новое у меня 1 на миллион. Но уж такой я человек, и без боя не здамся, даже если мне придется для этого сжечь свою видеокарту

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Цитата:
Для начала хочу написать программу на асме (MASM), которая сможет выйти в полноэкранный режим, будет отображать точки с определенными координатами и передвигать их по определенным правилам.

это то просто, но отнюдь не из винды такое надо делать.
Давайте с этого и начнем. Что нужно для того, чтобы написать такую программу?
Если не из винды, то у меня в дуалбуте Ubuntu 11.04 стоит, я не против с линухом поковыряться. Только пожалуйста, не отправляйте меня в DOS!
drlike вне форума Ответить с цитированием
Старый 10.08.2011, 23:33   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в досе самое место.(ибо там вы будете в нулевом кольце, с абсолютным доступом ко всему, только лучше в защищенный режим, или хотяб в long-real режиме)
насчет линуха аналогично с виндой, надо в ядро идти.(если мне память не изменяет)

кстати, немного инфы можно получить копаясь в драйвере...
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.08.2011, 23:55   #5
drlike
Новичок
Джуниор
 
Регистрация: 10.08.2011
Сообщений: 5
По умолчанию

По большему счету, мне все равно на ось. Но насколько я понимаю, если я буду запускать программу в досе, то я, фактически, буду работать через эмулятор, а это значит, что я не смогу работать с драйвером видеокарты напрямую. Если я все же ошибаюсь, и даже под досом смогу использовать все прелести 3Д, то я согласен и под досом.

Так вы сможете мне помочь с информацией?
drlike вне форума Ответить с цитированием
Старый 11.08.2011, 00:01   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я вообще то имел в виду чистый дос, с дискетки например.
а не эмулятор.(любая нормальная ОС не даст доступа к низкому уровню, а через повышение прав, может быть конфликт(да и будет думаю))

вам какую инфу надо?
просто по работе с видюхой есть раздел в книге Владимира Кулакова, Программирование на аппаратном уровне.
но там 2D графика, по 3D математику надо, ну а по поводу 3D средствами видюхи, я писал, что врятли такая инфа есть.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.08.2011, 00:15   #7
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

непонятно как можно программировать закрытую архитектуру. это будет скорее не программирование 3Д, а отчаяная попытка выполнить reverse engineering для ОДНОЙ видеокарты.
лучше начните с алгебры и численных методов.
f.hump вне форума Ответить с цитированием
Старый 11.08.2011, 01:05   #8
drlike
Новичок
Джуниор
 
Регистрация: 10.08.2011
Сообщений: 5
По умолчанию

Цитата:
вам какую инфу надо?
Мне нужна инфа по выводу графики на экран НЕ через DirectX/OpenGL, а на более низком уровне. Что-то типа "сам себе оупенджиэль", чтобы понять, как он работает. Чтобы проделать самому то, что делает DirectX/OpenGL. Неужели это нереально сделать для простого смертного?


Пепел Феникса, спасибо за книгу, почитаю - отпишусь.

f.hump, для начала я хочу научиться управлять отдельными пикселями, в моем случае, наверное, про 3Д пока думать очень рано.
drlike вне форума Ответить с цитированием
Старый 11.08.2011, 01:32   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Чтобы проделать самому то, что делает DirectX/OpenGL. Неужели это нереально сделать для простого смертного?
именно то что делает Direct3D/OpenGL(с учетом аппаратной работы) нет не доступно, ибо все доки по видюхам(и особенно по их 3D начинкам) хранятся внутри компаний(ATI/NVIDIA).

а вот насчет 2D есть небольшой стандарт, в статье про пару таких говорится.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.08.2011, 02:22   #10
drlike
Новичок
Джуниор
 
Регистрация: 10.08.2011
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
именно то что делает Direct3D/OpenGL(с учетом аппаратной работы) нет не доступно, ибо все доки по видюхам(и особенно по их 3D начинкам) хранятся внутри компаний(ATI/NVIDIA).
А откуда тогда разрабы OpenGL берут эту информацию?


Цитата:
а вот насчет 2D есть небольшой стандарт, в статье про пару таких говорится.
Можно поподробнее, что за статья?
drlike вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с wav на низком уровне vsrmis Мультимедиа в Delphi 10 15.01.2011 01:13
Ассемблер, программирование видеоадаптера IgorM Помощь студентам 0 23.12.2010 19:28
МАЛЕНЬКАЯ ПРОБЛЕМКА С ГРАФИКОЙ НА НИЗКОМ УРОВНЕ Костик++ Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 17.11.2010 21:00
Работа с файлами на низком уровне JamS007 Общие вопросы C/C++ 15 26.05.2009 21:17
Работа на низком уровне Prowler Работа с сетью в Delphi 2 26.12.2006 06:29