Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: DirectX/OpenGL

  Все выпуски  

RFpro.ru: DirectX/OpenGL


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Павел Юрьевич
Статус: Профессионал
Рейтинг: 512
∙ повысить рейтинг »
Evgenijm
Статус: 10-й класс
Рейтинг: 240
∙ повысить рейтинг »
Solowey
Статус: 10-й класс
Рейтинг: 187
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / DirectX/OpenGL

Номер выпуска:54
Дата выхода:09.10.2012, 14:30
Администратор рассылки:Alexey G. Gladenyuk (Управляющий)
Подписчиков / экспертов:44 / 7
Вопросов / ответов:3 / 3

Консультация # 141965: Привет. Подскажите пожалуста, как совместить DirectX3d и Borland C++ Builder.В VC++ всё получается, нозахотелось перенести программу на Builder у которого все библиотеки свои. Вставил Microsoft-овские d3d9.h и d3dx9.h и несколько других необходимых. Скачал Borland-овские lib`s . вставил в папку "lib" (вроде специально не подключ...


Консультация # 99843: Подскажите, пожалуйста, что лучше выбрать DirectX или OpenGL с точки зрения функциональных возможностей для разработки 3D приложений? Являются ли они взаимозаменяемыми(т.е. можно ли выбрать что-то одно) или их желательно совмещать?...
Консультация # 84850: Здравствуцте уважаемые эксперты. У меня к вам пара вопросов: 1)У меня возникли вопросы по выводу текста в Direct3D9 Знаю что это делается с помощью функций D3DXCreateFont и DrawTextA интерфейса IDirectFont9(вроде бы). А вот как этими функциями пользоваться я понять немогу. 2)Незнаете где можно скачать справочные файлы из ...

Консультация # 141965:

Привет.
Подскажите пожалуста, как совместить DirectX3d и Borland C++ Builder.В VC++ всё получается, нозахотелось перенести программу на Builder у которого все библиотеки свои.
Вставил Microsoft-овские d3d9.h и d3dx9.h и несколько других необходимых.
Скачал Borland-овские lib`s . вставил в папку "lib" (вроде специально не подключал)
Первая же несовместимость в функции sqrtf , которой у Buildera нету - добавил.
Потом все вроде запустилось, но с ошибками типа "Чтение адреса 000000" при вызове некоторых dx функций ,хотя программа не вылетает.

Думаю это все Микрософтовские .h.

Уважаемые эксперты подскажите что делать, как инициализировать DirectX в C++Buildere 6

Дата отправки: 22.08.2008, 12:49
Вопрос задал: Петр Алексеевич Романов
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Болотаев Сергей Борисович:

Здравствуйте, Петр Алексеевич Романов!

По этому адресу http://www.clootie.ru/cbuilder/index.html есть необходимые библиотеки для Builder'a, а так же иснтрукция по компиляции программ

Консультировал: Болотаев Сергей Борисович
Дата отправки: 22.08.2008, 13:07
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 99843:

Подскажите, пожалуйста, что лучше выбрать DirectX или OpenGL с точки зрения функциональных возможностей для разработки 3D приложений? Являются ли они взаимозаменяемыми(т.е. можно ли выбрать что-то одно) или их желательно совмещать?

Дата отправки: 27.08.2007, 14:47
Вопрос задал: Сорокка Павел
Всего ответов: 1
Страница онлайн-консультации »


Консультирует XeS:

Здравствуйте, Сорокка Павел!

100 процентного ответа на данный вопрос нет. Все зависит только от ваших предпочтений. Вот некоторые плюсы и минусы этих двух библиотек:

DirectX:

(+) Включает в себя дополнительные компоненты для работы со звуком, устройствами ввода, сетью. Что не требует привлечение дополнительных библиотек.

(+) Поддержка объектного программирования.

(-) ограничен только Windows-платформой.

(-) труден к изучению. Слаборазвитое комьюнити.

OpenGL:

(+) мультиплатформенность.

(+) Легок к изучению. Сильно развитое комьюнити.

(-) Написан на чистом “С”, нет поддержки объектного программирования.

Некоторые советы по выбору:
1) В любом случае знание этих двух библиотек не повредит можно, например, начать с изучения OpenGL, а потом выучить DirectX.
2) Если вы занимаетесь кроссплатформенным программированием, то выбирайте OpenGL.
3) Что касается графики то OpenGL и DirectX совершенно одинаковы по функциональности.
Удачи в выборе!

Консультировал: XeS
Дата отправки: 29.08.2007, 13:47
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 84850:

Здравствуцте уважаемые эксперты.
У меня к вам пара вопросов:
1)У меня возникли вопросы по выводу текста в Direct3D9
Знаю что это делается с помощью функций D3DXCreateFont и DrawTextA
интерфейса IDirectFont9(вроде бы). А вот как этими функциями
пользоваться я понять немогу.
2)Незнаете где можно скачать справочные файлы из DirectX SDK, вся SDK не нужна(так как я программирую на Делфи и пользуюсь заголовочными файлами JEDI) да и трафика не хватит на всю SDK.
Спасибо за внимание!☺

Дата отправки: 30.04.2007, 17:27
Вопрос задал: _Alex_
Всего ответов: 1
Страница онлайн-консультации »


Консультирует XeS:

Здравствуйте, _Alex_!
Для вывода текста в Direct3D используется интерфейс ID3DXFont библиотеки D3DX. Этот интерфейс выводит текст с помощью
GDI и его применение может значительно уменьшить быстродействие приложения.

(1) Инициализация ID3DXFont

Для инициализации интерфейса используется функция D3DXCreateFontIndirect.

function D3DXCreateFontIndirect(
pDevice: IDirect3DDevice9; // устройство которое будет связано со шрифтом
const pLogFont: TLogFont; // Структура описания шрифта
out ppFont: ID3DXFont // возвращает интерфейс ID3DXFont
): HResult; stdcall; external d3dx9coreDLL;
Для описания шрифта используется структура TLogFont которая предоставляется GDI.

tagLOGFONTA = packed record
lfHeight: Longint; // Высота в логических единицах
lfWidth: Longint; // Ширина в логических единицах
lfEscapement: Longint; // угол вывода
lfOrientation: Longint; // угол вывода
lfWeight: Longint; // Насыщенность, диапозон от 0(тонкий) до 1000(жирный)
lfItalic: Byte; // если TRUE то шрифт будет курсивным
lfUnderline: Byte; // если TRUE то шрифт будет подчеркнутым
lfStrikeOut: Byte; // если TRUE то шрифт будет зачеркнутый
lfCharSet: Byte; // набор символов (DEFAULT_CHARSET см. справку по GDI)
lfOutPrecision: Byte; // качество вывода (можно ноль, см. справку по GDI)
lfClipPrecision: Byte; // качество обрезки (можно ноль, cм. справку по GDI)
lfQuality: Byte; // качество вывода ( можно ноль, см. справку по GDI)
lfPitchAndFamily: Byte; // Шаг и Семейство шрифта (можно ноль, см. справку по GDI)
lfFaceName: array[0..LF_FACESIZE - 1] of AnsiChar; // имя шрифта
end;

(2) Вывод текста

После того как интерфейс инициализирован можно перейти к выводу текста для этого используется метод ID3DXFont.DrawTextA

function DrawTextA(
pString: PAnsiChar; // Выводимая строка
Count: Integer; // кол-во отображаемых символов строки. можно -1
const pRect: TRect; // область экрана в которой будет отображаться текст
Format: DWord; // Флаги форматирования текста DT_LEFT,DT_RIGHT и.т.д
Color: TD3DColor // Цвет текста
): Integer; stdcall;

справку по структуре TLogFont можно посмотреть тут: http://msdn2.microsoft.com/en-us/library/ms533931.aspx

Приложение:

Консультировал: XeS
Дата отправки: 01.05.2007, 17:23
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное