|
Строитель
460 / 77 / 4
Регистрация: 18.06.2010
Сообщений: 515
|
|
Реализовать DirectX. Или разобраться в том, как программисту наладить работу DirectX у клиента под Windows28.12.2016, 08:32. Показов 11500. Ответов 73
Метки нет (Все метки)
Здравствуйте Программисты.
Заплачу за решение моего вопроса! 25-50 тыс. рублей. 50 тыс. рублей заплачу, если полностью решите мой вопрос. Занимаюсь коммерцией и собираюсь продавать сие программу под DirectX. Но вот не могу наладить 100% работу под Directx на других ПК под Windows. Мне нужно чтобы программа работала на windows у клиента без проблем с ошибками. Озадачился следующим вопросом: Хочу реализовать DirectX на любой платформе. Наверно на visual studio c++ или C# не важно. Главное, гарантия работоспособности работы ПК у клиента. Пробовал реализовывать DirectX на visual studio с++ и C#. Пробовал OpenGl на борланд-делфи. И скажу Вам получалось и команды работали. Но как дело доходило до других компьютеров EXE файлы отказываются работать. То библиотеки не хватает, то просто не запускается по неизвестной ошибке. Как решать эти проблемы не пойму. Просветите. 1. Дайте некоторый набор правил для того, чтобы наладить процесc по подключению нужных библиотек. 2. Настройки под DirectX. 3. Может есть какие-то утилиты для отслеживания ошибок в программах. Где будет писаться подробности об ошибках. 4. Что нужно сделать на стороне клиента, чтобы запустить этот проблемный DirectX 5. Не откажусь от минимально готового исходника под DirectX. Нужно, чтобы был пустой проект в котором был реализован только DirectX без всяких дополнительных файлов и движков. Хочется на первых парах понять в чем минимальный смысл DirectX. То есть окно рисования и нарисовано одна полоска с кружком. 6. Скажу что покупать готовый софт реализации за 50-100 тыс. рублей жаба давит. Что-нибудь на пиратских софтах предложить. Пробовал unity3d и unreal engine 4. Не работают Exe файлы на стороне клиента. Основная причина решения: Это то, что на стороне клиента эти EXE файлы не работают и почему? В общем: Предложите готовый набор программиста для решения работы под DirectX. Добавлено через 1 минуту Да кстати: Нужно чтобы EXE файлы работали начиная с Windows 7. До windows 10. Клиенты всякие попадаются.
0
|
|
| 28.12.2016, 08:32 | |
|
Ответы с готовыми решениями:
73
Delphi и DirectX или как ускорить работу с изображениями XNA является дополнением DirectX или это полноценная альтернатива DirectX не зависящая от него Как начать работу с DirectX (С#) |
| 01.01.2017, 14:49 | |
|
Нужно ещё заметить, что 3D в WPF можно реализовывать, как с помощью XAML кода (как у меня выше), так и с помощью C# кода - это дело вкуса.
0
|
|
|
Строитель
460 / 77 / 4
Регистрация: 18.06.2010
Сообщений: 515
|
||
| 01.01.2017, 15:22 [ТС] | ||
|
8Observer8, ответьте на такой вопрос более развернуто. В чем сложность усвоения Directx. Вы упомянули, что трудно изучить directx и уйдут просто годы обучения. Я что-то в это не верю. Я за два дня реализовал маленькое движение фигуры. Разобрал пока примерно структуру всего этого рисования. Остается только детальность. С матрицами понятно. Геометрию понимаю. В свое время разбирал высшую математику. Разбирал тригонометрию. Понимаю, что для реальности нужно что-то делать с пикселями. Я это чувствую, но пока еще не дошел до сути.
Еще вопрос: Насколько сильно может отличатся по скорости WPF графика от Directx? Ну хотя-бы примерно на ваш взгляд. У меня ощущение, что разница небольшая. Разработчики WPF наверняка сделали такую же библиотеку под directx. Я все же пока решил делать приложение под WPF. А потом когда картина и движок будут готовы начну тестировать Unity 3D. А с# код передать в unity уже не проблема. Добавлено через 18 минут В вашем исходнике что делает файл?: 3DTools.dll Добавлено через 3 минуты
И вообще все эти net.framework - ки могут быть установлены с другими программами. Добавлено через 4 минуты Хочется у Вас еще спросить программу (установщик программ). Которой Вы пользуетесь. Наверняка вы уже что-то знаете о таких установщиках. С которыми удобно работать и много вспомогательных функций. Также не откажусь от информации, как создавать самому эти установщики и засовывать в EXE файл куча других файлов.
0
|
||
| 01.01.2017, 20:42 | ||
|
Пусть задача будет очень простая: - предоставить пользователю возможность создать объект: куб, цилиндр, сфера - дать возможность выбрать кнопками цвет: красный, зелёный, синий - качестве решения предоставить exe Чтобы сделать это в Unity (который использует в своих недрах DirectX) нужно совершить минимум действий и написать минимум кода. На голом DirectX + WinAPI - это потребует больше действий и кода. На WPF поменьше. В общем на Unity, нужно намногое меньше времени на обучение и реализацию.
0
|
||
|
Строитель
460 / 77 / 4
Регистрация: 18.06.2010
Сообщений: 515
|
||
| 02.01.2017, 06:30 [ТС] | ||
Запустил ваш проект на unity. И уже заметил неприятность того, что unity готовит файл слежки своих проектов. И следит за вашими проектами как вы их распространяете. А это уж простите меня не устраивает. Мой файрвол мне об этом сообщает. С Unreal Engine 4 такая же проблема. Они шпионят за всеми проектами. Ведут статистику распространения проектов созданные на их движках.
0
|
||
| 02.01.2017, 12:07 | ||||||||||||||||||||||
|
Как вы наверное заметили у меня в проекте кроме рассеянного (или диффузного - diffuse) используется ещё бликовое (specular) освещение. А ещё для стен и земли используются карты нормалей.
Математическая модель реализации этих освещений будет одинаковая для DirectX и OpenGL. Реализуются эти освещения в шейдерах. Так выгдялит модель рассеянного (diffuse) освещения реализованная на языке GLSL: Кликните здесь для просмотра всего текста
Вертекстный шейдер:
А так модель рассеянного освещения: Кликните здесь для просмотра всего текста
Вертекстный шейдер:
Кроме этого нужно добавить поддержку текстур и реализовать симуляцию неровностей с помощью Normal Map на шейдерах. Нужно будет разобраться, как выводятся с нуля матрицы трансформаций: перемещение, вращение, масштабирование. Потому что без этого понимания не будет понятно, что такое матрицы: вида, модели, проекции, а так же их комбинации. Для понимания этого нужно много труда и времени. По крайней мере мне, хотя я изучал в универе линейную алгебру, но придётся самостоятельно производить выводы этих матриц с карандашом и бумагой, иначе нечего не поймёте. Если будете изучать DirectX по книгам, то заметите, что все они по C++ и WinAPI и чтобы понимать примеры придётся много прочитать документации по WinAPI и DirectX в MSDN: Вы потом сами убедитесь, сколько нужно много времени, чтобы научиться создавать более или менее приличную графику и анимацию на голом DirectX, которая будет сравнима с тем что можно делать в Unity или Unreal, создавая продукты, не отвлекаясь на низкоуровневую реализацию. Тем более, что в своём движке можно сделать такие хитрые ошибки, что может уйти очень много времени на их поиск и устранение. А в движке большиство ошибок найдено, а если и попадаются, то можно сообщить с службу поддержки, которая очень быстро выпустит патч. Но всё таки свои небольшие движки нужно учиться делать, чтобы понимать, как всё работает. Я пишу свой 2D игровой движок на WebGL на основе движка из этой книги. Поэтому это хорошо, чтобы вы так нацелены изучать DirectX. Я тоже начал изучать HLSL, так как мне нужно научиться писать качественные шейдеры для Unity. Добавлено через 19 минут
0
|
||||||||||||||||||||||
|
Строитель
460 / 77 / 4
Регистрация: 18.06.2010
Сообщений: 515
|
||
| 02.01.2017, 15:22 [ТС] | ||
Я вообще то продаю программы и мне очень важно максимально защититься от парсинга моего кода. В вашем исходнике что делает файл 3Dtools.dll дайте исходный код dll, если он ваш. Больно интересно что это. Меня не устраивает такая непонятка на ссылающийся файл 3Dtools.dll
0
|
||
| 02.01.2017, 16:06 | |||
|
По поводу реалистичности, обратите внимание на эти два иструмента, они сейчас лидеры по мощности и простоте использования: Substance Painter 2 Substance Designer Substance Painter 2 Release Trailer Кликните здесь для просмотра всего текста
0
|
|||
|
Строитель
460 / 77 / 4
Регистрация: 18.06.2010
Сообщений: 515
|
||
| 02.01.2017, 16:24 [ТС] | ||
0
|
||
| 02.01.2017, 16:32 | ||||||||||||
|
Как в моём примере, для вращения мышкой:
1
|
||||||||||||
|
Строитель
460 / 77 / 4
Регистрация: 18.06.2010
Сообщений: 515
|
|
| 03.01.2017, 18:34 [ТС] | |
|
Я уже третий день изучаю WinApi код. Создал окно, кнопки, меню, события и тому подобное. И скажу, что раньше использовал конструктор и прочую лабуду.
Теперь понял лучше один раз изучить WinApi чтобы все понять как работает. На WinApi Можно сделать столько всякого, на что конструкторы не способны. Еще понял одну мысль. На WinApi можно сразу писать возможности, которые тебе нужны. А на конструкторах нужно изучать конструктор. В общем когда знаешь WinApi понятнее становятся все конструкторы. WinApi это мощный инструмент. Нисколько не жалею, что начал его изучать. Там можно столько всего динамического забацать. Даже показался проще в плане того, что имея некоторые команды, появляются больше простых возможностей как реализовать некоторый алгоритм, на которые конструкторы не могут дать ответ.
0
|
|
| 03.01.2017, 19:45 | ||
|
По поводу WinAPI - не всё так однозначно. На сегодня дела обстоят так, что если мы создаём продукты только для Windows, то мы упускаем большое количество покупателей, кто использует Mac или Linux, а так же мобильных пользователей Android и iOS. Если реализовывать с нуля для каждой платформы самому, то будет уходить много времени. С другой стороны можно ограничиться только Windows, ведь не мало людей её используют.
0
|
||
|
Строитель
460 / 77 / 4
Регистрация: 18.06.2010
Сообщений: 515
|
|
| 03.01.2017, 19:56 [ТС] | |
|
На Unity можно подключать свои dll ?
Можно будет свою собственную библиотеку придумать и писать для упрощения кода на других языках. Есть же такая возможность. dll написан на C++ а его подключить к С#. И далее это все реализовать в Unity.
1
|
|
| 03.01.2017, 20:31 | |
|
Мне такое в голову не приходило, но оказывается можно -> пошаговая инструкция
1
|
|
|
Строитель
460 / 77 / 4
Регистрация: 18.06.2010
Сообщений: 515
|
||
| 04.01.2017, 06:48 [ТС] | ||
|
Добавлено через 32 минуты То есть что будет с dll файлом? он подвергнется изменению? Надо же настроится под другую операционную систему.
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 04.01.2017, 07:22 | ||||
|
В Windows 10 из коробки уже DirectX 12 т.е. если целевая ось выше хрюшки или висты то ниче делать уже и не надо, все сделано в исходе. Если таки хрюшка или виста то необходимо поставить пакет редистрибутаблов из SDK чтобы 11-ый если именно он нужен. Если же целевой 9с то он и в хрюшке из коробки. Что касается OpenGL. Весь функционал живет в драйверах видюхи и железозависим. Тут с одной стороны все просто - одна DLL которая живет (обязана быть из коробки) в винде начиная с 95-ой. С другой стороны все на порядки сложнее. Потому как для поимения возможностей OpenGL выше 1.1 При помощи функций из оной DLL нужно получить из драйвера список поддерживаемых расширений и получить адреса поддерживаемых функции. Тот еще гемор учитывая что получение адреса делается ни разу не стандартным GetProcAddress и статически все это не прилинкуешь, а функций оных около 4,5 тыс. Соостветственно получаем инициализацию объемом примерно 20 тыс строк кода. Добавлено через 6 минут
1
|
||||
|
Строитель
460 / 77 / 4
Регистрация: 18.06.2010
Сообщений: 515
|
|||
| 04.01.2017, 07:47 [ТС] | |||
|
Инфа такая: 1. В Windows 7,8,10 Стоят Direct 9,10,11 (так кое что проверял, стоят DirectX не важно какой версии но они есть) 2. Библиотеки для программиста почему то не работают с обозначенными Directx по умолчанию для windows. 3. Приходится в ПК под Windows грузить DirectX специальный под библиотеки программиста. Ерунда какая-то получается... Проблема еще в силе по поводу DirectX. Не понятно где скачать библиотеку программиста, которые работали бы под directX по умолчанию. Или надо Библиотеки программиста под DirectX 11 использовать? Я проверял на библиотеках 2009 года. Но какая там версия грузилась для меня осталось загадкой. Качал с этой статьи: http://gamesmaker.ru/programmi... -runtimes/ Может быть библиотеки надо использовать d3d10.h, d3d11.h d3d12.h и тому подобное. Добавлено через 4 минуты Можно поподробнее какие файлы отсутсвуют и где их брать. Пути этих файлов и прочее. Иные настройки. На конкретном примере VS2012. Добавлено через 10 минут Я так понял библиотеки под DirectX 9.0 не будут работать на ПК под DirectX 11 ?
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 04.01.2017, 08:35 | ||||
|
0
|
||||
|
Строитель
460 / 77 / 4
Регистрация: 18.06.2010
Сообщений: 515
|
||
| 04.01.2017, 08:40 [ТС] | ||
|
Ну, а на другой вопрос: Что такое рантайм? Что за редистром рантайма? Можно поподробнее какие файлы отсутсвуют и где их брать. Пути этих файлов и прочее. Иные настройки. На конкретном примере VS2012.
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 04.01.2017, 08:42 | |||
Сообщение было отмечено infobos как решение
Решение
1
|
|||
|
Строитель
460 / 77 / 4
Регистрация: 18.06.2010
Сообщений: 515
|
|
| 04.01.2017, 08:47 [ТС] | |
|
Конечно Release использовал. DirectX был, а все равно требовала DirectX устанавливать. Установил сработало. По умолчанию DirectX не работает. В связи с этим возникают проблемы совместимости. То что предлагают программисты не по библиотекам не вяжется с тем какой DirectX по умолчанию в Winbdows.
0
|
|
| 04.01.2017, 08:47 | |
|
S.T.A.L.K.E.R.: Clear Sky показывает чёрный экран в Windows 7 под DirectX 10
Как реализовать хук DirectX Как реализовать меню в 3D-играх на DirectX? Если у меня видяха поддерживает DirectX 10, то пойдут ли те игры, которые поддерживают DirectX 9? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|