Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Первый облом

7
14 августа 2007 года
@pixo $oft
3.4K / / 20.09.2006
Решил немного попробовать попрограммировать что-нибудь 3D-шное,и почти сразу обломался:
1)OpenGL:по нему у меня есть что-то,что называется SDK(а с первого разу и не скажешь).Он,конечно же,на Ц.Пришлось переводить(благо Цшные либы совместимы с MAsm'ом).Проблемы появились почти сразу-при инициализации:после ChoosePixelFormat(точно не помню-API вызывается после получения DC) Олька говорит "Paused" и отказывается продолжать выполнение программы.Такое бывает,когда появляется больше одного потока.Так оно и было.Вследствие этого-вопросы:
а)как отлаживать OpenGL-приложения?
б)как в Ольке отлаживать более-чем-однопоточные приложения?
2)DirectX:там ещё хуже-никаких вам API.Вся литература-классовая(даже та,что у вас выложена в "Где скачать?",а где вы видели в Ассемблере классы(впрочем,вы люди бывалые,вы видели,может быть:rolleyes:).Даже в DirectX SDK всё тоже классовое.Так вот,где можно достать что-нибудь API'шное по DirectX?
15K
16 августа 2007 года
vja
85 / / 09.01.2007
на wasm.ru есть примеры работы c OpenGL на ассемблере...
если честно, не вижу смысла работать в ос windows с openGL на асме, хотя асм я очень люблю!
15K
16 августа 2007 года
vja
85 / / 09.01.2007
и ооп в асме есть, это точно, изврат конечно ^)
а для отладки приложений OpenGL - замеряй хотя бы для начала fps и думай, как сделать это быстрее...
есть еще какой-то отладчик бржуйский, название не помню

ps в масме же в экзамплах есть пример работы с OpenLG, там сферы вращаются...
257
16 августа 2007 года
kosfiz
1.6K / / 18.09.2005
что касается OpenGL так я советую не проходить мимо форума http://www.masm32.com/board/index.php?board=41.0
а особенно скачать примеры из темы http://www.masm32.com/board/index.php?topic=2522.0 там полно интересного.
и еще вот ссылку нашел насчет DirectX http://vertexland.narod.ru/data/index.htm
7
23 августа 2007 года
@pixo $oft
3.4K / / 20.09.2006
Цитата: vja
а для отладки приложений OpenGL - замеряй хотя бы для начала fps и думай, как сделать это быстрее...


Я не могу даже инициализировать его!!!Вот...Процесс создаёт ещё один поток(вроде как после ChoosePixelFormat),а Олька не умеет отлаживать больше 1 потока(хотя имеет окошко Threads и несколько команд для работы с потоками).И вот ещё вопрос-а как полноэкранные отлаживать?Ведь после переключеня в отладчик придётся опять всё перерисовывать!
А вот ссылка по DirectX как-то не очень полезна:из всего,что я там нашёл,только 1 файл был по DirectX+Asm,остальные тоже классовые:(
А где в Ассемблере ООП?

15K
24 августа 2007 года
vja
85 / / 09.01.2007
Цитата: @pixo $oft
Я не могу даже инициализировать его!!!Вот...Процесс создаёт ещё один поток(вроде как после ChoosePixelFormat),а Олька не умеет отлаживать больше 1 потока(хотя имеет окошко Threads и несколько команд для работы с потоками).И вот ещё вопрос-а как полноэкранные отлаживать?Ведь после переключеня в отладчик придётся опять всё перерисовывать!
А вот ссылка по DirectX как-то не очень полезна:из всего,что я там нашёл,только 1 файл был по DirectX+Asm,остальные тоже классовые:(
А где в Ассемблере ООП?



про ооп в асме - вот хотя бы что то
http://dnews.itdevelop.ru/index.php?option=com_content&task=view&id=174&Itemid=18

возьми туториал по работе с OpenGL из стандратных масмовских...
если найти не можешь ^), то вот где он лежит:
<...>\masm32\examples\EXAMPLE8\OPENGL\

зачем в ольке отслеживаешь что-то?
всегда дебаг в голове + вывод на экран критчиных значений - научись печатать текст средствами OpenGL и вперед!

ps а на сайте Nehe нет чтоли портированных на асм его примеров?

391
24 августа 2007 года
Archie
562 / / 03.02.2005
А какой смысл делать это на ассемблере? Софтварный рендеринг я б еще понял, и то не все подряд...
7
28 августа 2007 года
@pixo $oft
3.4K / / 20.09.2006
Мммм...А что?Тебе не нравится Ассемблер?Ну я понимаю,может,ты его ненавидишь лютой ненавистью(как некотрые ненавидят Ц/Бесик/Делфи),но не стоит навязывать это другим
vja:хммм...да уж.Оказывается,нет чисто DX на API.Всё те же классы в Ассемблерной интерпретации.А я-то думал,в Dependency Walker'е сидя,почему 3D-программы только Direct3DCreate8/9 используют...Значит,от классов никуда не деться...:(
63
29 августа 2007 года
Zorkus
2.6K / / 04.11.2006
Цитата: @pixo $oft
Мммм...А что?Тебе не нравится Ассемблер?Ну я понимаю,может,ты его ненавидишь лютой ненавистью(как некотрые ненавидят Ц/Бесик/Делфи),но не стоит навязывать это другим


Дело не в том, любит ли Арчи или кто-то другой ассемблер, а в том, что при написании графических программ на OpenGL лучше их писать на С + GLSL. Смотри - были шейдеры, и были они низкоуровневые - по сути, ассемблер для видеокарты. А потом был изобретен GLSL - потому что лучше логику писать на высокоуровневом языке.

Цитата: @pixo $oft

vja:хммм...да уж.Оказывается,нет чисто DX на API.Всё те же классы в Ассемблерной интерпретации.А я-то думал,в Dependency Walker'е сидя,почему 3D-программы только Direct3DCreate8/9 используют...Значит,от классов никуда не деться...:(


А ты собирался писать граф. приложение без использования классов? Почему? Неоптимально? ;)

534
04 октября 2007 года
HarryAxe
448 / / 19.01.2006
Вообще-то, D3D (unmanaged) - набор COM-объектов, а не объектно-ориентированная библиотека. В заголовочниках dx есть прототипы методов и для средств, не поддерживающих COM (типа D3DDevice9_SetRenderState). Можно и по старинке, через IUnknown попотеть. Но, по-моему, OLE напару с автоматизацией - такие дебри, что с ассемблером (да и без него) лучше вообще туда не лезть. (если, конечно, рассудок ещё тебе дорог). Хочешь графики - прыгай на что-то более абстрактное и живое, типа C++ или (для начинающих в этой стезе - в самый раз) C#. Код одной только инициализации минимального D3D-приложения на С++ занимает примерно 100 строк кода. При этом, редко какая из функций D3D берёт меньше трёх параметров и ещё реже одним из таких параметров не является структура. Полагай. С другой стороны, аналогичный код на C# для managed-версии D3D занимает порядка 10 строк. А на первых порах никакой разницы в быстродействии не ощущается (в небольшом приложении, если она и будет, то в пользу .NET, поскольку там не требуются тормозные фабрики классов и всевозможные обращения к реестру для поиска необходимого контроллера).
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог