Ответ: C3D Engine
Я как понял PhysX не скоро....
|
Ответ: C3D Engine
Да и тем более я на две недели в отпуске и ничего сейчас не делаю, а в инет выхожу с планшетного ПК ))))
|
Ответ: C3D Engine
Поменял концепцию движка.
Теперь он работает под openGL 2.1 (ибо по моим тестам быстрее directx 9), попрежнему остался казуальным. Только теперь в ядре не будет встроеной физики звука и так далее. Все это будет отдельными библиотеками. И пользователь сам может выбрать что ему использовать. В качестве звука, физики пользователь сможет использовать различные движки, все будет зависеть от того какие dll он подключит к проекту. Теперь в качестве шейдеров будет использован CG. Никаких FFPшных функций не используется. Нет стандартного шейдера, конечно есть в комплекте пример, но программист свой шейдер делает сам и назначает его по умолчанию, и именно он будет использоваться в программе при создании объектов, пока что какого-то конкретного ToDo нету. Названия семантик, тоже можно менять. Возможность программировния техник в шейдере, под различные версии GLSL. ТЫТРУБА Будет детальный туториал это будет последние кардинальные изменения... я окончательно определился с концепцией |
Ответ: C3D Engine
Build 131 - только графическая составляющая + Tutorial из 5 примеров и PDF. Не все возможности описаны в туториале...
скачать движок В туториале описывается как создать проект, как рисовать объекты, как написать первый шейдер, как настраивать, как создать модель (сетку) из кода и анимацию (например для написания своего загрузчика), как сделать источник освещения. Движок предназначен для пользователей среднего уровня. На основе него можно написать свой каркас.. это и есть концепция. Designer Casual Graphics 3D engine. |
Ответ: C3D Engine
Вложений: 1
очень низкий уровень создания меша.
проще писать на гапи. что думаешь о мобильных платформах? почему cg а не glsl, если у тебя не мультигапи? ну и почему capi, если пишешь на плюсах? intellisens хороший помощник в написании кода... а вообще респект, что-то уже есть :) примеры, желательно сделать так, чтобы они собирались в папку с бинарниками движка. чтобы небыло мути со всякими не найдена dg3d.dll. getCamera() - в движке не больше одной камеры? у тебя очень высокая цена ентити, сопостовима с юнити, в два раза выше чем у блица, в три раза выше чем у хорса и в 10 раз выше чем у меня. и, судя по всему, нет даже проверки на фрустум камеры. надо пилить. Вложение 17006 |
Ответ: C3D Engine
Да фрустума еще нет. CG потому что удобно и похоже на HLSL + затачивается под разные версии шейдеров, камерой может выступать любая нода, достаточно вызвать setCamera. Как ты добился такой скорости? HolyDel У тебя даже без фрустума скорость офигенная!
capi, для дальнейшего заюзывания в разных ЯП. Про мобильные платформы даже не читал... хотя тестировть есть на чем... но как-то не очень заинтерисован... |
Ответ: C3D Engine
Цитата:
в двух словах ничего лишнего. нет необходимости переключать стейт - не переключаю стейт. нет необходимости счтитать матрицу - не считаю матрицу. и т.д. ну и еще: 16 битные индексы. оптимизация под post TnL кэш оптимизация под картный 32-м байтам размер аттрибутов вершины оптимизация по переключениям стейтов (для этой демки не актуально) или ты про скорость твоей демки на моей машине? тут просто i7 и 460GT. |
Ответ: C3D Engine
А что дало резкий прирост скорости?
|
Ответ: C3D Engine
ничего не дало)) просто я не делал ничего такого, чтобы скорость резко падала, а ты что то сделал)) или шейдер применяешь на каждый дип, или еще что то в етом роде.
быстрее чем рендерит железо рендер все равно идти не будет. ну и профайлер наш друг, да. |
Ответ: C3D Engine
Что-то переключение стейтов совсем не влияют на FPS...
|
Ответ: C3D Engine
ну ты бы показал код рендера :)
или профайлером посмотри. не может тупая отрисовка быть такой долгой, где то ты что-то лишнее делаешь :) |
Ответ: C3D Engine
Код:
//отрисовка сцены поднял fps с 25 до 60 при 4096 кубиках - ксорс на моем железе дает 90, axelinx 250... Unity 60 заметил снижает скорость передача матрицы в шейдер.. а как быть? один шейдер 4096 кубов, следовательно 4096 передач параметров для каждого куба.. как это оптимизировать? |
Ответ: C3D Engine
Обновил PDF-ку, добавил урок работы с камерами, рендером в текстуру и пост-эффектами
Движок - билд 132 Оптимизация под SSE2 добавлен frutsum некоторые оптимизации ядра |
Ответ: C3D Engine
Не забывай о том что пишешь то ты открытый движок, для разработчика. Следственно нужна качественная документация, и продуманная архитектура и интерфейс, также дружелюбные паттерны. Очень важно то как выглядит код, имена функций и т.п. Этим сейчас многие берут сильно вверх, а именно дружелюбностью. В пример возьми node.js, на нём начять кодить как 2 пальца. И документация содержит тела самих функций - что более чем объясняет какие данные нужны на входе, и как она работает. Также это заставляет разработчика движка следить за кодом очень критично, что требует больше времени, но ведёт к более элегантным решениям.
Также тупо Враппер ГАПИ никому не нужен. Возьми например Unity - это нечто совсем иное, и народу ОЧЕНЬ нравится, новый подход, по другому нужно мыслить - такое продумать не так и просто.. |
Ответ: C3D Engine
я хз. я тоже передаю матрицу трансформации на каждый дип, правда одну.
возможно, можно как-то оптимизировать через UBO, но это уже не совсем то. такие вещи скорее нужно будет делать на уровне пользовательского кода через инстансинг. Цитата:
|
Часовой пояс GMT +4, время: 18:02. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot