Pavel3333 Posted September 20, 2016 Share Posted September 20, 2016 (edited) Интересно, во сколько строк кода (C++) обойдется простой графический 3D-движок? Физика - nVidia PhysX. Edited September 20, 2016 by Pavel3333 @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted September 20, 2016 Share Posted September 20, 2016 (edited) Интересно, в сколько строк кода (на C++) обойдется простой графический 3D-движок? Что подразумевается под простым? Можно и без движка работать - писать сразу для DirectX или OpenGL. Движок, загружающий модели и текстуры написать совсем не сложно. Строк 500-700, не больше. (на C++) Упс, ошибочка вышла. Ну годик-другой уйдет. На изучение C++. Edited September 20, 2016 by Azbuka 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Pavel3333 Posted September 20, 2016 Author Share 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 Link to comment Short link Share on other sites More sharing options...
Azbuka Posted September 20, 2016 Share 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 Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 20, 2016 Share Posted September 20, 2016 Велосипеды наше всё? ddsпочему именно он? Не думаю, что свет станет проблемой.Очистка памяти станет главнейшей проблемой. @ Quote Link to comment Short link Share on other sites More sharing options...
Pavel3333 Posted September 20, 2016 Author Share Posted September 20, 2016 , намекаете на Питон?Интерпретаторный же) почему именно он? Альфа каналы, DXT сжатие. Да и расшифровывается как DirectDrawSurface image format) +привык к нему) Очистка памяти станет главнейшей проблемой. Есть фиксы? Или ручками del[]?) @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 20, 2016 Share Posted September 20, 2016 (edited) . Edited January 8, 2021 by SkepticalFox @ Quote Link to comment Short link Share on other sites More sharing options...
Pavel3333 Posted September 20, 2016 Author Share Posted September 20, 2016 (edited) Rust вроде норм, но память отъедает...Раст на Юньке. Юньку люблю) Кстати, Ну... Хотя бы без анимации. >3000 строк кода с DX, да? Вот графический API на ржавчине: https://github.com/gfx-rs/gfx Там в описании есть примеры движков на этом API Интересно, почитаю при свободном часике Edited September 20, 2016 by Pavel3333 @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 20, 2016 Share Posted September 20, 2016 (edited) Раст на Юньке. Юньку люблю)Что? Rust это не Rust! Rust это язык программирования. https://www.rust-lang.org/ru-RU/ Edited September 20, 2016 by ShadowHunterRUS @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted September 20, 2016 Share Posted September 20, 2016 Есть фиксы? Или ручками del[]?) Ручное управление памятью подразумевает ручное выделение и освобождение памяти. Теоретически, это позволяет писать более эффективные программы, но на деле лишь создаёт проблемы. Вам нужен язык с автоматическим управлением памятью и сборщиком мусора. Альфа каналы, DXT сжатие. Да и расшифровывается как DirectDrawSurface image format) +привык к нему) Есть много других форматов, которые ничуть не хуже. Формат нужно подбирать под конкретную задачу. Писать новичку на C++ движок, когда есть другие нормальные языки... Rust вроде норм, но память отъедает... Да и пусть отъедает, если на таком языке можно сразу взять и что-то написать, не изучая его много лет. Мне вот D нравится. @ Quote Link to comment Short link Share on other sites More sharing options...
Pavel3333 Posted September 20, 2016 Author Share Posted September 20, 2016 Определился. Буду писать на Плюсах, DirectX. Пока что займусь написанием d3d приложений. 3 октября, когда будут каникулы, буду читать доки по dx. >Вам нужен язык с автоматическим управлением памятью и сборщиком мусора. Т.е. С#? Не вариант, dx, имхо, будет криво работать на с#. Не зря же winAPI делали. @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 20, 2016 Share Posted September 20, 2016 (edited) . Edited January 8, 2021 by SkepticalFox @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted September 20, 2016 Share Posted September 20, 2016 (edited) Буду писать на Плюсах, DirectX. Зачем торопиться-то? Если не удалось переубедить на счёт языка, то с DirectX'ом ещё не всё потеряно. Начать стоит с того, что он создан Microsoft, а значит приложение будет работать только на Windows. В отличии от него OpenGL работает везде. Т.е. С#? Не вариант, dx, имхо, будет криво работать на с#. Не зря же winAPI делали. DirectX и так будет криво работать. Вы проведёте много интересных ночей с отладчиком и горячим чаем. Edited September 20, 2016 by Azbuka @ Quote Link to comment Short link Share on other sites More sharing options...
Pavel3333 Posted September 20, 2016 Author Share Posted September 20, 2016 (edited) Удачи, LOL! Хосспаде, это ж идея) Движок писать - громко сказано, скорее попробовать написать какое-нить приложеньице, способное грузить модельки, размещать их на сцене и хотя бы их рендерить) На dx или любом другом api работать научиться хочу, одним словом. В прошлом году начал и времени не хватило. Даже книжечки читал) И не обязательно быстро) Свободное для дел и чтения время - только каникулы. И еще. Что выбрать из этого? >DirectX, OpenGL, Vulkan, OpenGL ES Edited September 20, 2016 by Pavel3333 @ Quote Link to comment Short link Share on other sites More sharing options...
Yupi Posted September 20, 2016 Share Posted September 20, 2016 (edited) @Pavel3333, Vulkan это современная замена OpenGL + OpenGL ES. Но это не важно, потому что см. п2. Неправильный подход. Сначала нужно решить что ты делаешь, и какие из этого вытекают требования, а потом уже выбирать средства. Edited September 20, 2016 by TwoPizza 1 1 @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 20, 2016 Share Posted September 20, 2016 (edited) . Edited January 8, 2021 by SkepticalFox @ Quote Link to comment Short link Share on other sites More sharing options...
Pavel3333 Posted September 20, 2016 Author Share Posted September 20, 2016 А зачем тогда написал про движок?Синонима не нашел. Не то что 3D-редактор, но кагбэ и не совсем движок. Тулза, программа. @ Quote Link to comment Short link Share on other sites More sharing options...
SkepticalFox Posted September 20, 2016 Share Posted September 20, 2016 (edited) . Edited January 8, 2021 by SkepticalFox @ Quote Link to comment Short link Share on other sites More sharing options...
Pavel3333 Posted September 20, 2016 Author Share Posted September 20, 2016 Пытался на нём Tank Viewer написать, но забил(Ничоси. А что так? Модельки открывать умеет, текстуры правильно накладывает, дело вроде за малым оставалось, не? @ Quote Link to comment Short link Share on other sites More sharing options...
Azbuka Posted September 20, 2016 Share Posted September 20, 2016 Что выбрать из этого? >DirectX, OpenGL, Vulkan, OpenGL ES DirectX или OpenGL. Vulkan слишком сырой, OpenGL ES - для встраиваемых систем (телефонов, планшетов).Выбрать ли DirectX или OpenGL я сказать не могу. И то и другое сложно. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.