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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2010, 19:30   #1
assemblerist
 
Регистрация: 11.08.2010
Сообщений: 8
По умолчанию Вопросы по графике или “с чего начать”?

Как начать программирование графики на ассемблере? Посредством работы с драйвером оборудования или напрямую? Без Direct’ов и OpenGL. А если говорить в общем: как программировать графику на ассемблере вообще? Литературы на этот счёт до неприличного мало.
Это первый вопрос…
Как решить проблему совместимости видеокарт? Чтобы код шёл и там и тут. Такая проблема наверняка возникнет в будущем. Ассемблер железозависимый.
Считайте это вопросом номер два.
Ассемблер мне в большей мере нужен для вывода изображений на экран. Существующие графические инструменты накладывают неприятные и весьма сложно-преодолимые ограничения для нормальной работы с графикой.

Если будут вопросы – задавайте. Заранее благодарю всех, кто решил откликнуться на это сообщение.
assemblerist вне форума Ответить с цитированием
Старый 12.08.2010, 04:01   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

assemblerist
для начинающего довольно странные вопросы... ассемблер хоть и "железно-зависимый" но для программирования микропроцессора х86 будет одним и тем же, а программировать напрямую порты видеоадаптеров вам не позволит ОС (windows) хотя вы и не пишете под какую ось собрались писать программы... Что касается программирования графики через DirectХ и OpenGL, то там наоборот достаточно "прозрачный" интерфейс который как раз и предназначен для решения проблемы совместимости видеоадаптеров. О программировании видеокарт полно литературы на С/С++ и перевести с синтаксиса С/С++ на ассемблер большой сложности не вижу. Фраза "Существующие графические инструменты накладывают неприятные и весьма сложно-преодолимые ограничения для нормальной работы с графикой..." говорит только о маленьком опыте или отсутствии опыта работы по программированию графики но и о раздутом самомнении ее автора, здесь нет легких путей ... Для начала разберитесь с "существующими графическими инструментами" и напишите свои, которые не будут "накладывать неприятные и весьма сложно-преодолимые ограничения для нормальной работы с графикой". Удачи!

Последний раз редактировалось Mikl___; 12.08.2010 в 04:09.
Mikl___ вне форума Ответить с цитированием
Старый 12.08.2010, 17:29   #3
assemblerist
 
Регистрация: 11.08.2010
Сообщений: 8
По умолчанию

Спасибо. Существующие графические инструменты относительно более приспособлены для высокоуровневого программирования графики и предлагают зачастую излишние и часто неподходящие под конкретное дело функциональные возможности, в которых очень часто просто нет необходимости. Вы, как видимо, предлагаете пересесть на DirectX и OpenGL? Я с ними хорошо знаком. Это довольно распространенное мнение среди программистов на ассемблере, которые стремятся к “поменьше ассемблера” и “побольше всего остального”. Но взвесив все “за” и “против” я пришёл к выводу, что мне необходимо низкоуровневое программирование графики в своих приложениях и низкоуровневое программирование вообще, с учетом некоторых оговорок, так как высокоуровневое не обладает такими уж огромными преимуществами, чтобы сделать однозначный выбор в его пользу.
Всё же хотелось бы перейти ближе к делу, без споров, на чём надо, а на чём не надо программировать. Ближе к практике.
assemblerist вне форума Ответить с цитированием
Старый 13.08.2010, 02:23   #4
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Что именно вы хотите делать? Под Windows? Под DOS? Какого рода графика - 2д/3д?
Ну почитайте что-нибудь про MMX (если не знакомы с ним) - думаю в любом случае полезно будет...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 13.08.2010, 04:04   #5
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

assemblerist
Ваши вопросы, это хождение вокруг да около, такими же будут и ответы. Для начала ответьте на следующие вопросы:
а) под какую ОС вы собрались программировать графику?
б) чем вызван отказ от "DirectX, OpenGL и прочих API"?
в) судя по вопросу "Как решить проблему совместимости видеокарт" вы решили замутить что-то глобальное. Вопрос ЧТО?
Mikl___ вне форума Ответить с цитированием
Старый 13.08.2010, 08:08   #6
svbezm
Форумчанин
 
Регистрация: 02.04.2010
Сообщений: 104
По умолчанию

Пишите через BIOS . Для работы в хорошем разрешении используйте спецификации VESA.
svbezm вне форума Ответить с цитированием
Старый 13.08.2010, 16:02   #7
assemblerist
 
Регистрация: 11.08.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от DomiNick Посмотреть сообщение
Что именно вы хотите делать?
Программировать низкоуровневую графику без “волшебных полочек” в виде готовых функций, которые делают всё за вас, но делают, как правило, не то, что вы хотите.
Цитата:
Сообщение от DomiNick Посмотреть сообщение
Под Windows? Под DOS? Какого рода графика - 2д/3д?
Ну почитайте что-нибудь про MMX (если не знакомы с ним) - думаю в любом случае полезно будет...
Под Windows, если логично предположить. Но винда не так важна. Это своего рода такой маленький вспомогательный инструмент.
… Чем 2D графика отличается от графики 3D? Монитор всё равно плоский. 3D – это иллюзия, поэтому ваш вопрос мне не полностью понятен. Хотя отвечу, что и 2D, и, в дальнейшем, 3D. Главное “выводить” и выводить быстро.
assemblerist вне форума Ответить с цитированием
Старый 13.08.2010, 16:22   #8
assemblerist
 
Регистрация: 11.08.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Mikl___ Посмотреть сообщение
Ваши вопросы, это хождение вокруг да около, такими же будут и ответы. Для начала ответьте на следующие вопросы:
а) под какую ОС вы собрались программировать графику?
Под Windows. Это приоритет.
Цитата:
Сообщение от Mikl___ Посмотреть сообщение
б) чем вызван отказ от "DirectX, OpenGL и прочих API"?
Тем, что они, как говорилось выше, не предоставляют нужных графических возможностей. Кроме того - они высокоуровневые. Кто-то скажет это хорошо, но посмею возразить. Чем выше ”уровень”, тем меньше гибкость. DirectX и OpenGL (в меньшей степени) – это производственная индустрия со своими специфическими особенностями. Сделал – продал, сделал – продал, работает и хорошо. То есть они заточены под достижение некоторого конкретного результата. Если вы следуете их дорогой, то должны играть по их правилам и следовать некоторой их графической моде. Она не плоха и не хороша, но это далеко не то, что нужно. А подстраивать всё под себя – куда хуже. Это всё равно, что построить плохой дом, а потом из плохого дома пытаться сделать хороший, тогда как нужно было с самого начала это и начинать.
Цитата:
Сообщение от Mikl___ Посмотреть сообщение
в) судя по вопросу "Как решить проблему совместимости видеокарт" вы решили замутить что-то глобальное. Вопрос ЧТО?
Глобальное – потом, сначала локальное. Если с “локальным” дела пока плохи, рано думать и о глобальном.
assemblerist вне форума Ответить с цитированием
Старый 13.08.2010, 16:24   #9
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Цитата:
Под Windows, если логично предположить. Но винда не так важна. Это своего рода такой маленький вспомогательный инструмент.
Вероятно у вас все же слишком маленький опыт в программировании на асме или его вообще нет... Без ведома и согласия ОС вы не можете сделать ничего, а пути к желаемому у разных ОС совсем разные.
Цитата:
Чем 2D графика отличается от графики 3D? Монитор всё равно плоский. 3D – это иллюзия, поэтому ваш вопрос мне не полностью понятен. Хотя отвечу, что и 2D, и, в дальнейшем, 3D. Главное “выводить” и выводить быстро.
Вы же не будете всю графику обрабатывать только на CPU, если вам нужна скорость, значит многое нужно переложить на в\карту, в которой не все равно 2D или 3D... В ней есть функции как для того, так и для другого.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 13.08.2010, 16:27   #10
assemblerist
 
Регистрация: 11.08.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от svbezm Посмотреть сообщение
Пишите через BIOS . Для работы в хорошем разрешении используйте спецификации VESA.
Легко сказать – тяжело сделать. Подробности будут? Есть ли какая-либо информация по этой теме?
assemblerist вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
статья - Что, где, когда или? с чего начать программировать? Pblog Обсуждение статей 0 23.06.2010 05:13
незнаю с чего начать... а начать очень нужно ОСЯНЯ Помощь студентам 2 26.11.2008 20:08
с чего начать??? цтоасбест Помощь студентам 1 01.09.2008 13:20
с чего начать? Roman Работа с сетью в Delphi 1 27.02.2007 09:41