3d Graphics, DirectX, OpenGL, Software |
Здравствуйте, гость ( Вход | Регистрация )
3d Graphics, DirectX, OpenGL, Software |
23.02.2004 - 12:14
Вставить ник | Быстрая цитата | Сообщение
#21
|
|
Звезда форума Группа: Участник Сообщений: 384 Регистрация: 7.10.2003 Пользователь №: 340 |
Цитата(Колбасьев @ 22.02.2004 - 21:56) Поэтому во многих играх и программах можно выбирать "рендер", так как громадная часть кода - общая. Ты имеешь ввиду выбор между OpenGL и DirectX?? Если я правильно понял. |
|
|
23.02.2004 - 13:31
Вставить ник | Быстрая цитата | Сообщение
#22
|
|
Постоялец форума Группа: Участник Сообщений: 616 Регистрация: 29.09.2003 Пользователь №: 105 |
1. ДельфиХ жутко удобная весч. Но гадость. Потому что настолько, насколько удобная, настолько же и тормозная. Так что, использовать надо обязательно "чистый" директХ.
2. VCL действительно легко отключается. Но зачем? То, что оно добавляет 300кб кода в exe, лично меня совершенно не смущает, а возиться с WinAPI - это для извращенцев. Даже для MSVC используют MFC. 3. Еще один пример - Age Of Wonders, обе части которой написаны на дельфи. Вообщем, спорить тут не о чем. Да, дельфи тормознее засчет кривой оптимизации. Но программировать игры на нем можно. И значительно удобнее, для тех кто привык к удобству дельфи. |
|
|
23.02.2004 - 15:19
Вставить ник | Быстрая цитата | Сообщение
#23
|
|
void* Группа: Участник Сообщений: 1631 Регистрация: 29.09.2003 Пользователь №: 45 |
Ладно, ладно. Некомпетентен я в дельфи, это было ясно с самого начала. Однако насчет MFC хочу сказать, что большего зла я не видел, в играх он исключительно вреден, без него проще. А винапи в играх тоже сравнительно бесполезен. - ГУИ самому писать надо
Цитата Вообщем, спорить тут не о чем. Да, дельфи тормознее засчет кривой оптимизации. Но программировать игры на нем можно. На досовском паскале тоже можно, вопрос - зачем? Сложно сказать, что лучше - прогать на дельфи или учиться сям, ибо тут уже не сработает тот фактор, что на дельфях все получается "быстро", тут уже ручками, ручками. |
|
|
23.02.2004 - 15:24
Вставить ник | Быстрая цитата | Сообщение
#24
|
|
void* Группа: Участник Сообщений: 1631 Регистрация: 29.09.2003 Пользователь №: 45 |
Вот блин... опять все свелось к флейму про дельфи.... Народ, высказывайте последнее мнение, и возвращаемся в тему.
|
|
|
14.07.2004 - 00:57
Вставить ник | Быстрая цитата | Сообщение
#25
|
|
Постоялец форума Группа: Участник Сообщений: 545 Регистрация: 12.07.2004 Пользователь №: 4138 |
Я в течение почти года принимал непосредственное участие в разработке Direct3D-игры на Delphi, так вот, что я Вам скажу по этому поводу - хуже этой комбинации быть не может!!! Как Вам, вероятно, известно, сама среда DirectX написана на C++, поэтому активно использует операции с указателями. Вот классический пример кода доступа к какому-либо буферу(текстура, back-buffer, etc.) на Delphi:
Код for i := 0 to dwBufSize - 1 do begin DWORD(PDWORD(DWORD(pBuf) + i)^) := $00000000; end; Согласитесь, выглядит несколько коряво и малопонятно. А теперь то же самое на C++: Код for (int i = 0;i < dwBufSize;i++) { *(pBuf + i) = 0x00000000; } Это горазно короче и наглядней! Это во-первых. Во-вторых, если Вы собираетесь писать приложение с сильной и реалистичной физикой, то Вам придётся заниматься оптимизацией кода под различные процессоры, чтобы всё это обсчитывать в реальном времени. Для С++ существует отличный компилятор для процессоров Intel, оптимизирующий код под Pentium 4. На Delphi же Вам придётся изучать ассемблер и разобраться в различных системах команд (например, вопрос на засыпку - где нужно использовать ISSE2, а где можно обойтись и ISSE?), т.к. оптимизирующих компиляторов для Delphi я не знаю... |
|
|
14.07.2004 - 11:20
Вставить ник | Быстрая цитата | Сообщение
#26
|
|
Энтузиаст Группа: Участник Сообщений: 462 Регистрация: 30.09.2003 Пользователь №: 143 |
Цитата(Дата 23.02.2004 - 00:44) А дельфи и вовсе, по сравнению с MSVC(AFAIR, Колбасьев, поправь, если я ошибся) не умеет отключать VCL от проекта, если он не нужен, а тащить его за собой - просто незачем. PS. Слухай, а ты на дельфи игры прогал? Можно отключать - все без проблем будет... 1 способ: используем KOL (есть такая библиотека) - оболочки вокруг API функций, сохраняющие минимальную функциональность VCL - в десятки раз уменьшает размер программы. 2способ: пишем на WinAPI и вместо 300Кб получаем 9Кб - если очень важен размер. А вообще игру можно писать с использованием форм и т.д., а затем с использованием двух предложенных вариантов уменьшить размер программы. Так что вопросы объема, скорости работы и времени разработки - это для тех кому охота поспорить зря. Для всего есть решение. |
|
|
14.07.2004 - 13:45
Вставить ник | Быстрая цитата | Сообщение
#27
|
|
Unknown Группа: Модератор Сообщений: 405 Регистрация: 29.09.2003 Пользователь №: 74 |
Не уходите от темы. Прошу соблюдать порядок и не оффтопить в данном разделе. Все сообщения которые не будут относиться к данной теме впредь будут удаляться. Только злиться на меня не надо, просто немножко порядок давайте наведём.
|
|
|
28.08.2004 - 14:54
Вставить ник | Быстрая цитата | Сообщение
#28
|
|
Энтузиаст Группа: Участник Сообщений: 462 Регистрация: 30.09.2003 Пользователь №: 143 |
Как в DirectX антиальянсинг "включить"?
|
|
|
28.08.2004 - 17:59
Вставить ник | Быстрая цитата | Сообщение
#29
|
|
Постоялец форума Группа: Участник Сообщений: 545 Регистрация: 12.07.2004 Пользователь №: 4138 |
Очень просто!
Код //Перед созданием устройства ( Device)
D3DPRESENT_PARAMETERS::MultiSampleType = D3DMULTISAMPLE_4_SAMPLES; |
|
|
29.08.2004 - 18:20
Вставить ник | Быстрая цитата | Сообщение
#30
|
|
Энтузиаст Группа: Участник Сообщений: 462 Регистрация: 30.09.2003 Пользователь №: 143 |
А как теперь его выключить?
Я попробывал: SetRenderState(D3DRS_MULTISAMPLEANTIALIAS, DWORD (False)); SetRenderState(D3DRS_MULTISAMPLEMASK, DWORD (False)); Толку нет. Мне надо на время выключит "сглаживание". У меня буквы шрифта блеклыми выходят. Сообщение отредактировано Колбасьев - 29.08.2004 - 18:21 |
|
|
29.08.2004 - 22:39
Вставить ник | Быстрая цитата | Сообщение
#31
|
|
Unknown Группа: Модератор Сообщений: 405 Регистрация: 29.09.2003 Пользователь №: 74 |
Дело в том что такие параметры применяются при создании устройства и их потом не отменишь....
|
|
|
30.08.2004 - 12:36
Вставить ник | Быстрая цитата | Сообщение
#32
|
|
Энтузиаст Группа: Участник Сообщений: 462 Регистрация: 30.09.2003 Пользователь №: 143 |
А как это можно обойти?
Я пробовал создать два устройства и выводить поочередно. ^_^ Невышло. Или что-ж перед выводом надписей пересоздавать устройство? Странно, что отключить нельзя... |
|
|
30.08.2004 - 13:22
Вставить ник | Быстрая цитата | Сообщение
#33
|
|
Постоялец форума Группа: Участник Сообщений: 545 Регистрация: 12.07.2004 Пользователь №: 4138 |
И совсем не странно, а вполне объяснимо, если знать, как FSAA реализован на аппаратном уровне...
|
|
|
30.08.2004 - 22:41
Вставить ник | Быстрая цитата | Сообщение
#34
|
|
Unknown Группа: Модератор Сообщений: 405 Регистрация: 29.09.2003 Пользователь №: 74 |
Два девайса нельзя создать для одного HWND +) придумай чтонибудь со шрифтом - в инете решений море, они все ждут тебя.
|
|
|
5.09.2004 - 19:47
Вставить ник | Быстрая цитата | Сообщение
#35
|
|
Энтузиаст Группа: Участник Сообщений: 462 Регистрация: 30.09.2003 Пользователь №: 143 |
И еще такой момент: для текстуры надо что-то задавать? А то как-то странно антиальянсинг работает.
|
|
|
5.09.2004 - 21:41
Вставить ник | Быстрая цитата | Сообщение
#36
|
|
Unknown Группа: Модератор Сообщений: 405 Регистрация: 29.09.2003 Пользователь №: 74 |
В чём проявляются странности ? Скрины в тему или на мыло плиз(в профиле оно есть), для текстуры ничего не надо задавать, если тебе не нравиться стандартная анизотропия, ты шейдер напиши, если ломает, могу дать парочку.
|
|
|
6.09.2004 - 08:54
Вставить ник | Быстрая цитата | Сообщение
#37
|
|
Энтузиаст Группа: Участник Сообщений: 462 Регистрация: 30.09.2003 Пользователь №: 143 |
Цитата на мыло плиз(в профиле оно есть), ^_^ Для конфиденциальности адрес не показывается (даже в профиле), а как отправить из форума, присоеденив изображения я не знаю. Тег IMG требует адрес в сети, а не локальный (или я не прав?). Вообще же смысл в том, что в одной программке с включенным антиальянсингов некое изображение мага выглядит так: в руке у него "сферообразный сгусток энергии" (красивая градиентная звезда-окружность), а у меня просто синий круг, как и без антиальянсинга. |
|
|
6.09.2004 - 18:31
Вставить ник | Быстрая цитата | Сообщение
#38
|
|
Unknown Группа: Модератор Сообщений: 405 Регистрация: 29.09.2003 Пользователь №: 74 |
vorobieva@zelnet.ru пожалуйста скинь скриншот и сам ресурс, содержащий мага ( текстура, там... модель... ) и ресурс звёздочки.
|
|
|
7.09.2004 - 14:17
Вставить ник | Быстрая цитата | Сообщение
#39
|
|
Unknown Группа: Модератор Сообщений: 405 Регистрация: 29.09.2003 Пользователь №: 74 |
Получил скриншоты... весьма странная картинка.... Не стоит ли у звёздочки colorkey, как она рисуется ( с шейдером\без ). Как она рисуется с выключенным блендингом, перешли демо, без сорцов, может это глюк твоих дров\карты или мало ли чего... здесь причин масса может быть... попробуй вынести рисовку в отдельный проект и посмотреть как работает это там, т.е чтоб лишнего кода не было, так будет проще найти ошибку ( возьми любой туториал и в него внедри своего мага с звёздочками ). Ещё раз повторю... это может быть от чего угодно, нужно перебрать все варианты, не бойся если что публикуй код
|
|
|
7.09.2004 - 17:31
Вставить ник | Быстрая цитата | Сообщение
#40
|
|
Энтузиаст Группа: Участник Сообщений: 462 Регистрация: 30.09.2003 Пользователь №: 143 |
Полажу, поищу еще, думаю. Дема - сильно сказано. Там все примерно так же :-). Спасибо.
|
|
|
Текстовая версия | Сейчас: 26.12.2024 - 18:55 |