Pavel3333 1,148 Posted September 20, 2016 (edited) Интересно, во сколько строк кода (C++) обойдется простой графический 3D-движок? Физика - nVidia PhysX. Edited September 20, 2016 by Pavel3333 Quote Share this post Link to post Short link Share on other sites
Azbuka 278 #354182 Posted September 20, 2016 (edited) Интересно, в сколько строк кода (на C++) обойдется простой графический 3D-движок? Что подразумевается под простым? Можно и без движка работать - писать сразу для DirectX или OpenGL. Движок, загружающий модели и текстуры написать совсем не сложно. Строк 500-700, не больше. (на C++) Упс, ошибочка вышла. Ну годик-другой уйдет. На изучение C++. Edited September 20, 2016 by Azbuka 1 Quote Share this post Link to post Short link Share on other sites
Pavel3333 1,148 #354185 Posted September 20, 2016 Упс, ошибочка вышла. Ну годик-другой уйдет. На изучение C++. 1 вариант - C++ + windows.h - писать с виндовой библиотекой 2 вариант - C++ + windows.h + DirectX Под простым подразумевалось написание движка, умеющего 1) в физику (хотя бы падение объекта) 2) поддерживающий dds формат текстур 3) умеющий загружать модели вместе с костями и анимацией (анимация загружается сразу с fbx-модели) 4) естественно, свет, хотя бы Omni 5) поддерживающий скрипты на c++/c# Идея чем-то напомнила котовый движок, kotofake вроде звали На изучение C++. C++ знаем на уровне консолек. Вы имели ввиду на изучение библиотек, которые я написал выше? Quote Share this post Link to post Short link Share on other sites
Azbuka 278 #354187 Posted September 20, 2016 1 вариант - C++ + windows.h - писать с виндовой библиотекой 2 вариант - C++ + windows.h + DirectX С виндовой библиотекой? DirectX, OpenGL, Vulkan, OpenGL ES и прочее - спецификации для работы с компьютерной графикой. Они позволяют писать приложения, что будут работать на разных видеокартах. 2) поддерживающий dds формат текстур Текстуры - не проблема. Нужно только поискать библиотеку для загрузки DDS. 3) умеющий загружать модели вместе с костями и анимацией (анимация загружается сразу с fbx-модели) Сложно. Если загрузить модели можно другой библиотекой, то кости и анимацию нужно реализовывать самостоятельно. 4) естественно, свет, хотя бы Omni Не думаю, что свет станет проблемой. 1 Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #354208 Posted September 20, 2016 Велосипеды наше всё? ddsпочему именно он? Не думаю, что свет станет проблемой.Очистка памяти станет главнейшей проблемой. Quote Share this post Link to post Short link Share on other sites
Pavel3333 1,148 #354213 Posted September 20, 2016 , намекаете на Питон?Интерпретаторный же) почему именно он? Альфа каналы, DXT сжатие. Да и расшифровывается как DirectDrawSurface image format) +привык к нему) Очистка памяти станет главнейшей проблемой. Есть фиксы? Или ручками del[]?) Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #354217 Posted September 20, 2016 (edited) . Edited January 8, 2021 by SkepticalFox Quote Share this post Link to post Short link Share on other sites
Pavel3333 1,148 #354221 Posted September 20, 2016 (edited) Rust вроде норм, но память отъедает...Раст на Юньке. Юньку люблю) Кстати, Ну... Хотя бы без анимации. >3000 строк кода с DX, да? Вот графический API на ржавчине: https://github.com/gfx-rs/gfx Там в описании есть примеры движков на этом API Интересно, почитаю при свободном часике Edited September 20, 2016 by Pavel3333 Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #354224 Posted September 20, 2016 (edited) Раст на Юньке. Юньку люблю)Что? Rust это не Rust! Rust это язык программирования. https://www.rust-lang.org/ru-RU/ Edited September 20, 2016 by ShadowHunterRUS Quote Share this post Link to post Short link Share on other sites
Azbuka 278 #354225 Posted September 20, 2016 Есть фиксы? Или ручками del[]?) Ручное управление памятью подразумевает ручное выделение и освобождение памяти. Теоретически, это позволяет писать более эффективные программы, но на деле лишь создаёт проблемы. Вам нужен язык с автоматическим управлением памятью и сборщиком мусора. Альфа каналы, DXT сжатие. Да и расшифровывается как DirectDrawSurface image format) +привык к нему) Есть много других форматов, которые ничуть не хуже. Формат нужно подбирать под конкретную задачу. Писать новичку на C++ движок, когда есть другие нормальные языки... Rust вроде норм, но память отъедает... Да и пусть отъедает, если на таком языке можно сразу взять и что-то написать, не изучая его много лет. Мне вот D нравится. Quote Share this post Link to post Short link Share on other sites
Pavel3333 1,148 #354227 Posted September 20, 2016 Определился. Буду писать на Плюсах, DirectX. Пока что займусь написанием d3d приложений. 3 октября, когда будут каникулы, буду читать доки по dx. >Вам нужен язык с автоматическим управлением памятью и сборщиком мусора. Т.е. С#? Не вариант, dx, имхо, будет криво работать на с#. Не зря же winAPI делали. Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #354230 Posted September 20, 2016 (edited) . Edited January 8, 2021 by SkepticalFox Quote Share this post Link to post Short link Share on other sites
Azbuka 278 #354232 Posted September 20, 2016 (edited) Буду писать на Плюсах, DirectX. Зачем торопиться-то? Если не удалось переубедить на счёт языка, то с DirectX'ом ещё не всё потеряно. Начать стоит с того, что он создан Microsoft, а значит приложение будет работать только на Windows. В отличии от него OpenGL работает везде. Т.е. С#? Не вариант, dx, имхо, будет криво работать на с#. Не зря же winAPI делали. DirectX и так будет криво работать. Вы проведёте много интересных ночей с отладчиком и горячим чаем. Edited September 20, 2016 by Azbuka Quote Share this post Link to post Short link Share on other sites
Pavel3333 1,148 #354233 Posted September 20, 2016 (edited) Удачи, LOL! Хосспаде, это ж идея) Движок писать - громко сказано, скорее попробовать написать какое-нить приложеньице, способное грузить модельки, размещать их на сцене и хотя бы их рендерить) На dx или любом другом api работать научиться хочу, одним словом. В прошлом году начал и времени не хватило. Даже книжечки читал) И не обязательно быстро) Свободное для дел и чтения время - только каникулы. И еще. Что выбрать из этого? >DirectX, OpenGL, Vulkan, OpenGL ES Edited September 20, 2016 by Pavel3333 Quote Share this post Link to post Short link Share on other sites
Yupi 505 #354244 Posted September 20, 2016 (edited) @Pavel3333, Vulkan это современная замена OpenGL + OpenGL ES. Но это не важно, потому что см. п2. Неправильный подход. Сначала нужно решить что ты делаешь, и какие из этого вытекают требования, а потом уже выбирать средства. Edited September 20, 2016 by TwoPizza 1 1 Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #354245 Posted September 20, 2016 (edited) . Edited January 8, 2021 by SkepticalFox Quote Share this post Link to post Short link Share on other sites
Pavel3333 1,148 #354246 Posted September 20, 2016 А зачем тогда написал про движок?Синонима не нашел. Не то что 3D-редактор, но кагбэ и не совсем движок. Тулза, программа. Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #354247 Posted September 20, 2016 (edited) . Edited January 8, 2021 by SkepticalFox Quote Share this post Link to post Short link Share on other sites
Pavel3333 1,148 #354249 Posted September 20, 2016 Пытался на нём Tank Viewer написать, но забил(Ничоси. А что так? Модельки открывать умеет, текстуры правильно накладывает, дело вроде за малым оставалось, не? Quote Share this post Link to post Short link Share on other sites
Azbuka 278 #354250 Posted September 20, 2016 Что выбрать из этого? >DirectX, OpenGL, Vulkan, OpenGL ES DirectX или OpenGL. Vulkan слишком сырой, OpenGL ES - для встраиваемых систем (телефонов, планшетов).Выбрать ли DirectX или OpenGL я сказать не могу. И то и другое сложно. 1 Quote Share this post Link to post Short link Share on other sites