Я пытаюсь добавить объект, который имеет несколько различных свойств, таких как материал (в основном альфа) и вращение. RectangleGraphics имеет вращение и работает, когда я устанавливаю материал для представления текстуры.
viewer.entities.add({
name: 'Site Layer',
rectangle: {
coordinates: rectangle,
material: 'Image.jpg',
rotation: Cesium.Math.toRadians(13)
}
});
Однако, когда я попытался реализовать прозрачность с помощью пользовательского Материала (используя https://github.com/AnalyticalGraphicsInc/cesium/issues/2484) отображается как белая текстура вместо желаемого результата... что-то вроде:
material = new Cesium.Material({
fabric : {
type : 'Color',
uniforms : {
image : 'Image.jpg',
alpha : 0.5
}
components : {
diffuse : 'texture2D(image, materialInput.st).rgb',
alpha : 'texture2D(image, materialInput.st).a * alpha'
}
}
}
);
viewer.entities.add({
rectangle: {
coordinates: rectangle,
material: material,
rotation: Cesium.Math.toRadians(13)
}
});
Читая документы, материал в прямоугольнике кажется Cesium.MaterialProperty, а не Cesium.Material... значит ли это, что я не могу просто назначить материал прямоугольнику? А если нет, могу ли я каким-то образом обернуть материал внутри пользовательского свойства материала, чтобы он работал?
И для любопытства, в чем функциональная разница между Material и MaterialProperty?
p.s. У меня GroundPrimitive не работает, потому что один из основных браузеров, которые мне нужно поддерживать (Safari), сообщает GroundPrimitives.isSupported = false
Также опубликовано здесь https://groups.google.com/forum/#!topic/cesium-dev/1IPjHD7G_NA