LINUX.ORG.RU

Под линукс нужен 3D визуализатор

 ,


0

1

Под линукс нужен 3D визуализатор (нужно динамически по ходу работы программы выводить графику, к примеру программа хочет пододвинуть один предмет, а на пути второй предмет, который должен пододвинуться (так как на него воздействует первый предмет), в частности нужно чтобы первый предмет сгибал (хоть как-то) деревце (можно просто палку); еще нужно реализовать свою камеру - зрение - делать в единицу времени скриншот части пространства сцены, тут вообще плохо представляю как это сделать) с программированием желательно на php и с физикой: падение (не обязательно с ускорением g, просто падение), взаимодействие предметов, желательно инерция и вес предметов. Вот какие инструменты еще желательны: Создавать жидкости и другие спецэффекты, визуализировать с помощью встроенных инструментов (объясните что за инструменты).

В плане формата нужен простой и понятный формат для программиста, думая obj лучше всего. Не обязательны сложности, работа с графическими примитивами и заливка (или текстурирование или вообще ни чего) пространства между точек объекта цветом - это то что нужно. Программа должна быть бесплатной. Визуализатор для игр - это возможно то что мне и нужно.


Так возьми движок какой нибудь. Хотя на php, хм, таких приколов я не видел, как ты себе это представляешь? Формат лучше gltf - легко читать, есть встраиваемые и отдельные текстуры, есть бинарный и текстовый варианты.

rumgot ★★★★★
()
Ответ на: комментарий от Sunderland93

Renderdoc- интересно. Но я могу утонуть в нем. Вообще тут надо сообразить как это делать. К примеру есть 3д сцена с прямоугольным полом (земля) и человечек (наш персонаж для примера) находится на одной из граней (ближней к нам) пола, посередине грани. По мимо самой камеры-зрения,есть вторая общая камера (ее в реале может и не быть, пусть будет воображаемая, она нужна чтобы проще некоторые моменты понимать, к примеру где находиться человечек на сцене) Сама грань находится ближе всего к нам и человечек сморит не в угол пола (как бы не в угол комнаты), а строго на противоположную грань. Если не понятно, то я нарисую, просите. Продолжу. Если бы я писал весь код с нуля без визуализаторов, движков и прочего, то сейчас напишу как я это вижу. А писать с нуля не могу, так как времени нет. У человечка есть координаты xy в левом углу левого глаза, от них можно оттолкнуться и без проблем взять координаты слева и впереди, впереди координата лежит на противоположной грани пола. Если провести линию от xy и до вычисленной координаты, то получим поле зрения - линию, которая ограничивает поле зрения слева. Тоже самое для правого глаза. В собственной реализации это то что нужно, но нужно домысливать чтобы программа вычисляла именно спереди точку, а не сзади за спиной. Поле зрения - это и есть скрин что мне нужен. Скрин мне нужен в виде данных (пикселей), ну данные к примеру в массиве, тут уже как удобней хранить и работать с ними. Сами данные для контроля можно рендерить в правый нижний угол, на подобии того как мини карты делают в играх. А вот как все это завязать и реализовать на визуализаторе + (или) движке, вообще нужен совет от людей кто хорошо разбирается в этом, пока не ясно что вообще использовать и что к чему прикручивать (если прикручивается как модуль). Нужен совет, как пошагово это сделать, к примеру берем игровой движок, пишем код, в коде вызываем движок (ну это мне так думается), в самом движке нужно показать или видео или сайт дать, где описывается как делать то или иное. Иначе я 2 месяца буду искать где там нужный мне функционал. Вроде есть такое, к примеру в гонках, в зеркалах заднего вида отображается то что сзади, то есть часть сцены. То что и нужно я думаю. А вот как это делается, тут нужно знать движок и где в этом движке такая функция. В крайнем случае язык с++

wadic2
() автор топика
Ответ на: комментарий от Sunderland93

Продолжение. Я думаю пойдет камера от первого лица, только нужно чтобы данные с нее попадали в программу, а в самой программе я точно сам разберусь с данными, вопрос только в каком форме будут эти данные. Также в игровом движке как я понял можно делать 2 камеры, от первого лица и общую камеру. Переключение между ними мне будет полезно.

wadic2
() автор топика

с программированием желательно на php

такого не существует

derlinux
()
Ответ на: комментарий от wadic2

Я тебе так скажу. У тебя много вопросов от полного непонимания основ того, как графика работает. Очень классный цикл статей на habr learnopengl. Там объяснение идет от самых основ и большинство твоих вопросов отпадет само собой, если ты почитаешь там и проработаешь упражнения.

rumgot ★★★★★
()
Ответ на: комментарий от rumgot

Я не спорю, я не делал игры 3D. Делал не 3D игры. На все это нужно время. А вопросы некоторые так просто не решишь. Вариант - большинство вопросов - не катит. Все или ни чего. Как я делать буду, если на все вопросы ответов не будет? Я и движок выбираю, чтобы в нем все нужное было. habr learnopengl - это OpenGL. Я с ним знаком немного. Это не то что нужно. Зачем Вы мне дали это? Мне совет профи нужен, что выбрать, как делать. Там делов то не так много. Профи я думаю минут за 20 управиться.

wadic2
() автор топика
Ответ на: комментарий от wadic2

Профи я думаю минут за 20 управиться.

Вы, простите, слишком много думаете для человека, который до сих пор на такой пространный вопрос не нашел подходящего ответа. Статьи там не сколько и не столько про OpenGL, сколько про азы компьютерной графики, а вам понадобится и рисовать графику, и считать столкновения между объектами, делать симуляции и т.д.

Unreal/Unity/GoDot etc. в руки, что тут можно сказать, я конечно уровня познаний не видел и не измерял, но сдается мне, что вам текущих не хватит, чтобы написать движок на PHP с нуля, что можно сделать, но что ни один психически здоровый человек не будет делать без крайне весомых на то причин.

mazdai ★★★
()
Ответ на: комментарий от wadic2

это OpenGL. Я с ним знаком немного. Это не то что нужно. Зачем Вы мне дали это?

Там не только про OpenGL, а про основы графических алгоритмов и соответствующей математики. Например про то, что такое камера и откуда она берется.

Профи я думаю минут за 20 управиться.

Сомневаюсь, но тебе виднее конечно.

rumgot ★★★★★
()
Ответ на: комментарий от rumgot

Ну так мы о чем говорим? Если движок - то из коробки все должно быть. Зачем мне в низкоуровневое программирование копать? Ладно, ок. Откуда камера берется, в 5-ти предложениях изложьте. А то я мож чего не понимаю. «Сомневаюсь, но тебе виднее конечно.» - я писал: Профи Я ДУМАЮ минут за 20 управиться. Профи по движкам тут нет. Думаю придется с нуля делать. Там еще условие: отключать вывод графики, чтобы программа с виртуальной графикой работала. Если кто знает, как упростить написание своего движка (библиотеки не ооп, я думаю хотя бы на вывод графики или OpenGL хватит? Графика то мне нужна простая, на качество графики вообще пофиг, возможно на физику есть библиотеки) - пишите. И читайте всю переписку, если хотите быть в курсе дела - я уже давно сказал что язык с++, также в первом сообщении есть требования по физике и прочие. Гугл не надо слать и матом тоже, я спрашиваю совет не просто на библиотеку, а на ту, что подойдет под мои требования. Ну и как лучше организовать движок, тоже совет не помешает.

wadic2
() автор топика

Не забудь еще функцию грабить корованы.

AVL2 ★★★★★
()
Ответ на: комментарий от wadic2

Ну не хочешь запариваться низкоуровневым, так я тебе в первом сообщении все ответил. Бери движок какой-нибудь и вперед.

По поводу советов - у тебя получается целое ТЗ, ты хочешь, чтобы все сделали за тебя? - Тогда пиши в Job раздел. Если будешь сам, то начинай делать сам на движке каком-нибудь и пиши вопросы походу, типа «я сдедал то-то и то-то, сейчас пытаюсь реализовать то-то, не получается то-то, ошибка такая-то, как исправить?»

Про камеру в смысле низкоуровневой графики я могу конечно написать, но ты же не хочешь в это влезать. Да и зачем мне повторять то, что прекрасно написано в том цикле статей?

Ну и как лучше организовать движок, тоже совет не помешает

Так ты будешь движок писать сам? Или нет? Что то я плохо понимаю, что ты хочешь?

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 2)
Ответ на: комментарий от rumgot

Я охреневаю над умниками которые тут сидят, и над форумом. Есть конечно нормальные ребята тут. Ага, запинаюсь, иду в job. А Вас стоит брать на работу? Такого профи? Вот потому ты тут и сидишь от делать нечего, а профи тут редко бывают, у них работа. Будешь говнюком, ни чего не достигнешь, ученые уже доказали что говнюки - это ноль. «Так ты будешь движок писать сам? Или нет? Что то я плохо понимаю, что ты хочешь?» - я писал, читать нужно всю переписку, прежде чем вопросы глупые мне задавать. «Так ты будешь движок писать сам? Или нет? Что то я плохо понимаю, что ты хочешь?» - мне нужен был совет, какой движок лучше, какой под мои требования подойдет. Уже проехали, теперь нужен совет с какой парадигмой (или архитектурой) создавать свой движок. Материалы (ссылки) на конкретные мои вопросы-требования. А не статья на 50 страниц. Если статья, то указывать где место нужное мне. Вы фактор времени понимаете? Вот нет времени, буквально за вечер нужно сделать. От треугольников как основы 3д объектов отказался, просто будут кубы, а из них все что угодно можно построить. «ро камеру в смысле низкоуровневой графики я могу конечно написать, но ты же не хочешь в это влезать.» - уже влезаю, но пока на очереди понять векторы и нужны ли они мне:

Разность между двумя точками — это вектор, то есть: V = P - Q Сумма точки и вектора — это точка, то есть: Q = P + V

Взял отсюда: https://habr.com/ru/post/334580/

Отвратительно объяснено. Какая точка начальная? P или Q? Пусть P= 4 и это конечная точка, тогда при Q == 2, V == 2 Далее: Q = P + V Подставляем значения переменных: Q = 4 + 2 Получаем Q == 6, но Q == 2

wadic2
() автор топика
Ответ на: комментарий от wadic2

Я не понял, ты меня гавнюком обозвал? И хочешь советов? Противоречия нет по твоему?

Ты, если хочешь помощи, держи себя в руках. Иначе тебя стебать будут, а не помогать.

Такого профи? Вот потому ты тут и сидишь от делать нечего, а профи тут редко бывают, у них работа.

Ну я по работе изредка имею дело с графикой через движки и через OpenGL если что.

но пока на очереди понять векторы и нужны ли они мне

Разумеется нужны в любом случае.

Отвратительно объяснено

Глянул статью. Ну хз. Может в статьях learnopengl тебе покажется проще объяснение.

А не статья на 50 страниц

Ну, друг мой. Если даже ты будешь на движке делать, там тоже ториалы придется читать, и они тоже не маленькие. Без труда не вытащешь…

Повторюсь, что уже написал:

Если будешь сам, то начинай делать сам на движке каком-нибудь и пиши вопросы походу, типа «я сдедал то-то и то-то, сейчас пытаюсь реализовать то-то, не получается то-то, ошибка такая-то, как исправить?»

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 8)
Ответ на: комментарий от rumgot

А на стеб это и похоже. Есть такое свойство и программистов - я же крутой, а от сюда высокомерное отношение к людям. Так что не мне нужно держать себя. Я Вас не назвал гавнюком, а предположил, может и не гавнюк, а: «Есть такое свойство и программистов - я же крутой, а от сюда высокомерное отношение к людям». В любом случае я бы на Вашем месте прислушался к совету. Что касается помощи, то Вы хотите сказать что адекватно и хорошо помогают на форумах? А ну да я забыл, надо же мани мани подсыпать. «Ну я по работе изредка имею дело с графикой через движки и через OpenGL если что.» - я ни чего не говорю, вот так получилось что в этой области я тоже плохо разбираюсь, с OpenGL немного знаком, собственно его и использовать наверно буду, если понадобиться.

<< Ну, друг мой. Если даже ты будешь на движке делать, там тоже ториалы придется читать, и они тоже не маленькие. Без труда не вытащешь…

Повторюсь, что уже написал:

Если будешь сам, то начинай делать сам на движке каком-нибудь и пиши вопросы походу, типа «я сделал то-то и то-то, сейчас пытаюсь реализовать то-то, не получается то-то, ошибка такая-то, как исправить?» >> - времени нет совсем на все это, я буду делать минимум, что нужно после допишу. Вот мне нужен человечек, пусть будет прямоугольник и все, ну руки тоже из прямоугольников, ног нет, голова условная - конец прямоугольника. Сами многоугольники из кубов можно (и нужно) строить. Вот такой минимум я и буду делать. Мне же не для продакшена, а для себя. Вот сейчас в этих 3-х абзацах Вы разумно и правильно все написали.

В двух словах, зачем векторы и есть ли другие концепции? Ссылку на другие концепции если есть.

Я писал:

Разность между двумя точками — это вектор, то есть: V = P - Q Сумма точки и вектора — это точка, то есть: Q = P + V

Взял отсюда: https://habr.com/ru/post/334580/

Отвратительно объяснено. Какая точка начальная? P или Q? Пусть P= 4 и это конечная точка, тогда при Q == 2, V == 2 Далее: Q = P + V Подставляем значения переменных: Q = 4 + 2 Получаем Q == 6, но Q == 2

Где там начальная точка и почему результат в формулах не сходиться?

wadic2
() автор топика
Ответ на: комментарий от wadic2

В любом случае я бы на Вашем месте прислушался к совету.

А ты это, зашёл на форум, чтобы совета спросить или чтобы совета раздать?

Aceler ★★★★★
()
Ответ на: комментарий от wadic2

Есть такое свойство и программистов - я же крутой, а от сюда высокомерное отношение к людям. Так что не мне нужно держать себя. Я Вас не назвал гавнюком, а предположил, может и не гавнюк, а: «Есть такое свойство и программистов - я же крутой, а от сюда высокомерное отношение к людям». В любом случае я бы на Вашем месте прислушался к совету. Что касается помощи, то Вы хотите сказать что адекватно и хорошо помогают на форумах? А ну да я забыл, надо же мани мани подсыпать.

  1. Братан, научись себя вести сначала. И читай, что тебе пишут.

вот так получилось что в этой области я тоже плохо разбираюсь

  1. Хахахаха. Спасибо, мне так важна оценка того, кто не понимает, что такое вектор.

В любом случае я бы на Вашем месте прислушался к совету

  1. Тебе тут пытались помочь, но ты визжишь, что «ой какие вы грубые и высокомерные, ой-ой-ой». Читай пункт 1). Тебе все уже написали. Вот потеха была бы, если бы будучи в школе я бы учительницу по математике учил, как ей на мои вопросы отвечать.
rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Ответ на: комментарий от wadic2

Вот нет времени, буквально за вечер нужно сделать.

Если разбираться самому, чтобы самому же и сделать, уйдут недели, если не месяцы, потому что знаний и навыков там нужно намного больше, чем может показаться на первый взгляд.

Если заказывать работу у кого-то со стороны, то несколько дней уйдёт на согласование только начальных требований. И это не считая времени на поиск исполнителя, готового взяться за работу, времени на собственно работу, и времени на доработки.

Если только ты не знаешь заранее, как в точности реализовывать свою хотелку, «буквально за вечер» она не реализуема. Так что если у тебя был срок в один день, просто считай, что это уже провал.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.