Shader vs Shader Material, специфика papervision, приветствуется общее понимание

Я задал этот вопрос на форуме pv3d, и ни один человек не смог или не захотел на него ответить.

Я относительно новичок в 3D, поэтому прошу прощения, если это здравый смысл для некоторых.

У меня есть сфера, в которой я применяю CellMaterial. Выглядит отлично. Я заметил, что в papervision sdk также есть CellShader.

Должен ли я использовать это в соответствии с CellMaterial? Должно ли это быть одно или другое? Является ли шейдер устаревшей практикой для шейдерного материала?

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

Документация, кажется, показывает иначе.

Какую выгоду можно получить, если использовать CellShader и CellMaterial? Я действительно люблю, чтобы получить какое-то окружающее включение там как.

1 ответ

Если вам нужен только внешний вид ячейки и ничего больше, CellMaterial - ваш выбор. Цель CellShader состоит в том, чтобы смешать его с BitmapMaterial в ShadedMaterial.

Скажем, вы применили GaraudMaterial и вам понравился внешний вид, но вам также нужна текстура. Это невозможно сделать с помощью GaraudMaterial, но если у вас есть BitmapMaterial и GaraudShader, вы можете создать ShadedMaterial, который использует их.

например

var bitmapMaterial:BitmapMaterial = new BitmapMaterial(yourBitmapData);
var shader:PhongShader = new PhongShader(yourLight,0xFFFFFF, 0x000000,0,yourBumpMap);
//this uses the two above
var shadedMaterial:ShadedMaterial = new ShadedMaterial(bitmapMaterial,shader);
//apply it to something
var sphere:Sphere = new Sphere(shadedMaterial,250,10,10);

Для более подробного объяснения ознакомьтесь с постом Джима Фоули.

Что касается Ambient Occlusion, самый дешевый способ получить эффект - запечь тени в текстуре. Вы делаете это с помощью выбранного вами трехмерного редактора (3dsmax,maya,blender и т. Д.), И это в основном означает, что свет / тени отображаются в текстуре.mr.doob текстура выпечки

Существует некоторая работа по динамическому продвижению, хотя еще не проверялось ли это в последней версии Papervision.

kode80 ssao

Другие вопросы по тегам