Имеет ли смысл реализовать воксельный движок для игры средствами используя средства CUDA/OpenCL? Мне кажется идею стоит хотя бы обсудить)
CrazyFun А зачем нужен воксельный движок? Вот чем он лучше полигональной графики? Кстати, ща рулит Fermi.
Собственно это тоже обдумываю. Как мне кажется: не надо накладывать текстуры, не нужен бамп-мэппинг (вся информация уже закодирована вокселями), интересные возможности деформирования моделей, рельефа.
Текстуры не надо накладывать перед выводом потому что каждый воксель уже имеет свой цвет когда редактирование модели законченно. Собственно как пиксел на 2д картинке. С бампом я мб и погорячился, все-же должно работать быстрее чем выдавливание всех морщинок заранее, хотя надо обдумать. Вообще я конечно в теме профан)
CrazyFun Во-первых, на такую модельку не хватит никакой памяти. Во-вторых, отвещение никто не отменял. Где освещение - там нормали. Где нормали - там нормалмаппинг (то есть опять же - текстуры). Смысл в том, что на пиксельном шейдере полигонального рендеринга все цвето-свето-теневые эффекты имеют 100% оптимальную эффективность - "обсчитываются" ровно столько пикселей, сколько попало в кадр. На воксельном же движке будет дикий оверхед, не говоря уже о том, что само количество вокселей будет огромным (при условии что этот движок хочет конкурировать с полигональным по качеству картинки). Потребуется на порядки больше памяти и производительности. А ради чего - не понятно.
CrazyFun Интересно, а как это - воксели? Вот, к примеру, я хочу нарисовать кубик. Я беру 8 точек, 12 треугольников и видеокарта мне их быстренько рисует - это традиционный способ. А вот, к примеру, воксельный - я делю каждую грань кубика на 100 частей, итого получается 100х100х100 = 1000.000. Это столько нарисовать нужно кубиков. И ещё умножить на 12. Итого 12млн. треугольников для одного объекта. Думаете, я неправильно посчитал? Пересчитайте. Вы скажете, можно оптимизировать там, все по-любому выводить не нужно и т.д. Да, конечно, согласен. Ну, можно уменьшить детализацию. Соответсвтенно, получится Doom1. На gamedev.ru кто-то выкладывал игру Воксельштейн - так там всё в кубах было, да ещё каких, а тормозило как не знаю что. ИМХО, вопрос о воксельной графике стоит отложить до того времени, как производители видеокарт поддержат её аппаратно.
CrazyFun В Pixar/SGI/NVIDIA/AMD-ATI работают не дураки, и воксельная графика это не новость. Если бы он имел лучший показатель качества в единицу производительности, то эта тема давно была бы притворена в жизнь хотя бы где-то.
Phuntik Так тема-то и есть об аппаратной поддержке RTFW http://ru.wikipedia.org/wiki/CUDA Другое дело что даже для мультипроцессорного GPU на сегодняшний день это все еще неподъемная задача.
Мне вот интересно, почему до сих пор функциональные языки не начали перебираться на GPU - это же просто райское место для легкораспаралеливаемой функциональщины. Но это уже тема отдельного топика...)
Во-первых, Си давно уже перебрался. Во-вторых, это совсем не райское место и именно поэтому только шум стоит, а толку нет - тема уже была недавно в хип по-моему.