|
Xors3D Графический движок с поддержкой DirectX9 |
03.03.2014, 14:08
|
#691
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Ответ: Xors3D
Сообщение от moka
Для таких целей Unity отлично подходит.
Или возьми three.js и будет тебе кубик за 15 минут, с шейдерами и тенями.
|
>> C++
|
(Offline)
|
|
04.03.2014, 05:48
|
#692
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Xors3D
Сообщение от MiXaeL
>> C++
|
Тебе же "открыть и быстро глянуть", почему именно С++ тогда? Там нужно студию открывать, линкить всё подряд, компилить..
Религия? Или не С++ - это уже не "тру?".
Разработчику не важен язык, если он мыслит абстрактно как архитектор и технический дизайнер - ему важно решение с логической точки зрения, и при необходимости быстрого прототипа - разумнее выбирать именно то что для этого создано, и это не С++ точно.
Знание ряда языков и либ - очень расширяет мировоззрения для разраба (прям продаю ЛСД... ).
|
(Offline)
|
|
04.03.2014, 12:47
|
#693
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Ответ: Xors3D
Сообщение от moka
Тебе же "открыть и быстро глянуть", почему именно С++ тогда? Там нужно студию открывать, линкить всё подряд, компилить..
Религия? Или не С++ - это уже не "тру?".
Разработчику не важен язык, если он мыслит абстрактно как архитектор и технический дизайнер - ему важно решение с логической точки зрения, и при необходимости быстрого прототипа - разумнее выбирать именно то что для этого создано, и это не С++ точно.
Знание ряда языков и либ - очень расширяет мировоззрения для разраба (прям продаю ЛСД... ).
|
Думаю, тут спор больше о вкусах. Конечно, меня не обломает написать в js, но плюсы привычнее и удобнее. Опять-таки для того, чтобы нормально писать в js с автокомплитом, подсказками и т.п., нужно какую-нибудь IDE ставить.
Кстати, если говорить о быстрых прототипах, я бы скорее питон выбрал для этой цели.
|
(Offline)
|
|
04.03.2014, 15:08
|
#694
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Xors3D
Конечно, меня не обломает написать в js
|
зачем js, там нормально на с# писать, синтаксис по большей части такой же как с++ (только думать ещё меньше надо). для прототипов и быстрого накидывания самое то.
в качве IDE та же вижуал студия есть под шарп.
|
(Offline)
|
|
04.03.2014, 16:31
|
#695
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Ответ: Xors3D
Сообщение от Mr_F_
зачем js, там нормально на с# писать, синтаксис по большей части такой же как с++ (только думать ещё меньше надо). для прототипов и быстрого накидывания самое то.
в качве IDE та же вижуал студия есть под шарп.
|
Я про это:
>> Или возьми three.js и будет тебе кубик за 15 минут, с шейдерами и тенями
Шарп не люблю и хватит уже меня агитировать на всякие эти ваши юнити Имею право хотеть простой движок на С++. Кстати, за неимением лучшего, на том же xors'e подобные демки пока делаю.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
06.03.2014, 00:30
|
#696
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Xors3D
Сообщение от MiXaeL
Думаю, тут спор больше о вкусах. Конечно, меня не обломает написать в js, но плюсы привычнее и удобнее. Опять-таки для того, чтобы нормально писать в js с автокомплитом, подсказками и т.п., нужно какую-нибудь IDE ставить.
Кстати, если говорить о быстрых прототипах, я бы скорее питон выбрал для этой цели.
|
Python для 3д прототипа, это шутка? Ты видимо ни питоном ни js не пользуешься?
Начнём с того что тебя не привлекает JS синтаксимос, а python ок? Но ты сторонник С++? Лол.
C# в Unity - также быстро и просто.
Ну покажи как та же демка с тенями будет на С++ выглядеть, и на том же python и если кодом писать на Unity (C#):
http://jsfiddle.net/Q4uqE/5/
Тебе IDE для авто-комплита подавай? Ну тут что сказать... "ОК". Когда пол мира уже на Sublime'ах сидят, ну естественно не для С++/C#, а тебе да, студию подавай.
Не способность разработчика самому писать код в блокноте - это не разработчик имхо, это "оператор студии".
|
(Offline)
|
|
06.03.2014, 02:11
|
#697
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Xors3D
Ну покажи как та же демка с тенями будет на С++ выглядеть, и на том же python и если кодом писать на Unity (C#):
ну это же не от языка зависит. от движка.
что на плюсах что на шарпе будет примерно такой же код (при таком же движке).
|
(Offline)
|
|
06.03.2014, 02:22
|
#698
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Xors3D
С открытой студией, инициализацией окна, подключением либ и т.п.?
Ну может быть и практически тоже самое. Только вопрос - а есть ли на столько хороший и лёгкий движёк позволяющий с достаточно низким уровнем достигать того же с такой простотой?
Или есть что-то лучше?
Речь не о языках, а о инструментах на разные языки/платформы.
Язык без всех этих плюшек и комьюнити - ничто.
|
(Offline)
|
|
06.03.2014, 03:08
|
#699
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Xors3D
ну на акселе было бы примерно тоже (на три строчки больше - на инклюд, на main, и на while(true) - для цикла рендеринга), еслиб были тени. ну или на том же хорсе.
ну а так всякие монстры типа огра то уже и не используются. инструмент должен быть как можно проще и понятнее.
|
(Offline)
|
|
06.03.2014, 03:34
|
#700
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Xors3D
Сообщение от HolyDel
ну на акселе было бы примерно тоже (на три строчки больше - на инклюд, на main, и на while(true) - для цикла рендеринга), еслиб были тени. ну или на том же хорсе.
ну а так всякие монстры типа огра то уже и не используются. инструмент должен быть как можно проще и понятнее.
|
На ксорсе нету такого контроля как тут, и вообще не пахнет. Дебаггинг - вжопе, Win7 тоже.
А что-бы сделать такой прототип, или начать, что нужно проделать до этого?
В случае с three.js, лишь пройти по данной ссылке: http://jsfiddle.net/ и выбрать three.js слева.
Доступность - один клик. Дебаг, под рукой (Chrome Dev Tools), если нужен OpenGL Inspector - один клик, и плагин в броузере https://chrome.google.com/webstore/d...omeaghda?hl=en
В Firefox'е есть даже дебаг с брейкпойнтами в шейдере!! Можно редактировать шейдер на лету, а это при прототипировании с графикой просто мощь, которой кто обладает?
И всё это уже тут и всем доступно без инсталляции и настройки разного софта и туулз.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
07.03.2014, 13:49
|
#701
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Ответ: Xors3D
вот бомбануло, так бомбануло.
|
(Offline)
|
|
07.03.2014, 23:00
|
#702
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Xors3D
Сообщение от MiXaeL
вот бомбануло, так бомбануло.
|
Невежи знают как троллить.
|
(Offline)
|
|
25.07.2014, 03:41
|
#703
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,023
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: Xors3D
1)
Кто-нибудь может мне объяснить, почему в Хорсе с маской не работает mip-map?
Если ставить с альфой всё отлично, но тогда начинаются глюки z-буфера, по этому маска, маска и только маска!!!
Использу dds, всё настроено как надо, Блиц отображает без проблем, хочешь мип-мап сглаживание - пожалуйста, не хочешь - отключу.
Задал принудительно через xTextureFilter, всё прекрасно работает кроме маски >_<
Почему?
Можно как-то настроить через шейдеры?
2)
В блице есть команда SetGfxDriver(), для Хорса аналога не нашёл, она там есть?
P. S. Забавно, стандартные тени не заработали с альфой.
|
(Offline)
|
|
25.07.2014, 04:25
|
#704
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Xors3D
делай маску в шейдере сам через clip или discard
|
(Offline)
|
|
25.07.2014, 05:17
|
#705
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,023
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: Xors3D
Сообщение от Mr_F_
делай маску в шейдере сам через clip или discard
|
Можно пожалуйста подробней?
Изучая урок по шейдерам для Хорса наткнулся вот на это:
"if (diffuse.a < 0.5f) discard; // реализация маски"
И попробовал вставить так (копипаста из урока):
float4x4 matrixWorldViewProj : MATRIX_WORLDVIEWPROJ; // матрица итоговая
float4x4 matrixWorld : MATRIX_WORLD; // матрица мировая
float3 lightDirection : LIGHT0_DIRECTION; // направление
float4 lightColor : LIGHT0_COLOR; // цвет
float4 entityColor : COLOR_DIFFUSE; // цвет объекта
texture diffuseTexture : TEXTURE_0; // текстура
// описываем sampler
sampler diffuseSampler = sampler_state
{
Texture = <diffuseTexture>; // привязываем текстуру
// устанавливаем адресацию координат
AddressU = WRAP;
AddressV = WRAP;
AddressW = WRAP;
// устанавливаем фильтрацию
MinFilter = ANISOTROPIC;
MagFilter = ANISOTROPIC;
MipFilter = ANISOTROPIC;
// устанавливаем уровень фильтрации
MaxAnisotropy = 8;
};
// входная структура для вершинного шейдера
struct VSInput
{
float4 position : POSITION;
float3 normal : NORMAL;
float2 texCoords : TEXCOORD0;
};
// структура для результата вершинного шейдера
struct VSOutput
{
float4 position : POSITION;
float3 normal : TEXCOORD1;
float2 texCoords : TEXCOORD0;
};
// вершинный шейдер
VSOutput VSMain(VSInput input)
{
// объект для выходных данных
VSOutput output;
// трансформируем позицию вершины
output.position = mul (input.position, matrixWorldViewProj);
// трансформируем и нормализуем нормаль
output.normal = normalize(mul(input.normal, matrixWorld));
// переписываем текстурные координаты
output.texCoords = input.texCoords;
// возвращаем результат
return output;
}
// пиксельный шейдер
float4 PSMain(VSOutput input) : COLOR0
{
// делаем выборку из текстуры
float4 diffuse = tex2D(diffuseSampler, input.texCoords);
if (diffuse.a < 0.5f) discard; // реализация маски
// расчитываем освещенность точки
float lit = dot(input.normal, 8lightDirection);
// возвращаем результирующий цвет пиксела
return diffuse * entityColor * lit * lightColor;
}
technique Diffuse
{
pass p0
{
PixelShader = compile vs_3_0 VSMain();
VertexShader = compile ps_3_0 PSMain();
}
}
Я ещё тот нуб, не люблю читать всё от "корки док корки", стараюсь параллельно действовать самому. Короче отдельные элементы я вроде понимаю, но весь код шейдера вместе не осознаю.
"0.5f" это цвет? То есть если я понимаю - если в текстуре найден прозрачный пиксель(?) режем его?
"diffuse.a" - зачем точка?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Xors3d wants YOU! |
.Squid |
Xors3D |
33 |
13.01.2013 23:34 |
Xors3D для D |
johnk |
Проекты C++ |
8 |
09.08.2009 14:18 |
Xors3D for .NET? |
johnk |
C++ |
7 |
06.08.2009 09:34 |
Xors3D |
ЛысыЙ_Чук-Иванчук |
Модули для BlitzMax |
145 |
18.06.2009 21:17 |
xors3d |
NitE |
3D-программирование |
9 |
02.04.2009 22:21 |
Часовой пояс GMT +4, время: 01:26.
|