mirror of
https://github.com/JulianGro/overte.git
synced 2025-05-05 10:07:43 +02:00
commit
e4d17f45cf
10 changed files with 62 additions and 16 deletions
|
@ -65,6 +65,13 @@ void ShapeEntityRenderer::doRenderUpdateAsynchronousTyped(const TypedEntityPoint
|
||||||
materialChanged = true;
|
materialChanged = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool unlit = entity->getUnlit();
|
||||||
|
if (_unlit != unlit) {
|
||||||
|
_unlit = unlit;
|
||||||
|
_material->setUnlit(unlit);
|
||||||
|
materialChanged = true;
|
||||||
|
}
|
||||||
|
|
||||||
auto userData = entity->getUserData();
|
auto userData = entity->getUserData();
|
||||||
if (_proceduralData != userData) {
|
if (_proceduralData != userData) {
|
||||||
_proceduralData = userData;
|
_proceduralData = userData;
|
||||||
|
|
|
@ -42,6 +42,7 @@ private:
|
||||||
std::shared_ptr<graphics::ProceduralMaterial> _material { std::make_shared<graphics::ProceduralMaterial>() };
|
std::shared_ptr<graphics::ProceduralMaterial> _material { std::make_shared<graphics::ProceduralMaterial>() };
|
||||||
glm::vec3 _color { NAN };
|
glm::vec3 _color { NAN };
|
||||||
float _alpha { NAN };
|
float _alpha { NAN };
|
||||||
|
bool _unlit { false };
|
||||||
|
|
||||||
gpu::BufferPointer _colorBuffer { std::make_shared<gpu::Buffer>() };
|
gpu::BufferPointer _colorBuffer { std::make_shared<gpu::Buffer>() };
|
||||||
};
|
};
|
||||||
|
|
|
@ -536,6 +536,7 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
||||||
CHECK_PROPERTY_CHANGE(PROP_COMPOUND_SHAPE_URL, compoundShapeURL);
|
CHECK_PROPERTY_CHANGE(PROP_COMPOUND_SHAPE_URL, compoundShapeURL);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_COLOR, color);
|
CHECK_PROPERTY_CHANGE(PROP_COLOR, color);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_ALPHA, alpha);
|
CHECK_PROPERTY_CHANGE(PROP_ALPHA, alpha);
|
||||||
|
CHECK_PROPERTY_CHANGE(PROP_UNLIT, unlit);
|
||||||
changedProperties += _pulse.getChangedProperties();
|
changedProperties += _pulse.getChangedProperties();
|
||||||
CHECK_PROPERTY_CHANGE(PROP_TEXTURES, textures);
|
CHECK_PROPERTY_CHANGE(PROP_TEXTURES, textures);
|
||||||
|
|
||||||
|
@ -611,7 +612,6 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
||||||
CHECK_PROPERTY_CHANGE(PROP_RIGHT_MARGIN, rightMargin);
|
CHECK_PROPERTY_CHANGE(PROP_RIGHT_MARGIN, rightMargin);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_TOP_MARGIN, topMargin);
|
CHECK_PROPERTY_CHANGE(PROP_TOP_MARGIN, topMargin);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_BOTTOM_MARGIN, bottomMargin);
|
CHECK_PROPERTY_CHANGE(PROP_BOTTOM_MARGIN, bottomMargin);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_UNLIT, unlit);
|
|
||||||
CHECK_PROPERTY_CHANGE(PROP_FONT, font);
|
CHECK_PROPERTY_CHANGE(PROP_FONT, font);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_TEXT_EFFECT, textEffect);
|
CHECK_PROPERTY_CHANGE(PROP_TEXT_EFFECT, textEffect);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_TEXT_EFFECT_COLOR, textEffectColor);
|
CHECK_PROPERTY_CHANGE(PROP_TEXT_EFFECT_COLOR, textEffectColor);
|
||||||
|
@ -1386,6 +1386,8 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
||||||
* @property {Vec3} dimensions=0.1,0.1,0.1 - The dimensions of the entity.
|
* @property {Vec3} dimensions=0.1,0.1,0.1 - The dimensions of the entity.
|
||||||
* @property {Color} color=255,255,255 - The color of the entity.
|
* @property {Color} color=255,255,255 - The color of the entity.
|
||||||
* @property {number} alpha=1 - The opacity of the entity, range <code>0.0</code> – <code>1.0</code>.
|
* @property {number} alpha=1 - The opacity of the entity, range <code>0.0</code> – <code>1.0</code>.
|
||||||
|
* @property {boolean} unlit=false - <code>true</code> if the entity is unaffected by lighting, <code>false</code> if it is lit
|
||||||
|
* by the key light and local lights.
|
||||||
* @property {Entities.Pulse} pulse - Color and alpha pulse.
|
* @property {Entities.Pulse} pulse - Color and alpha pulse.
|
||||||
* <p class="important">Deprecated: This property is deprecated and will be removed.</p>
|
* <p class="important">Deprecated: This property is deprecated and will be removed.</p>
|
||||||
* @example <caption>Create a cylinder.</caption>
|
* @example <caption>Create a cylinder.</caption>
|
||||||
|
@ -1861,6 +1863,7 @@ ScriptValue EntityItemProperties::copyToScriptValue(ScriptEngine* engine, bool s
|
||||||
if (_type == EntityTypes::Box || _type == EntityTypes::Sphere || _type == EntityTypes::Shape) {
|
if (_type == EntityTypes::Box || _type == EntityTypes::Sphere || _type == EntityTypes::Shape) {
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE_TYPED(PROP_COLOR, color, u8vec3Color);
|
COPY_PROPERTY_TO_QSCRIPTVALUE_TYPED(PROP_COLOR, color, u8vec3Color);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(PROP_ALPHA, alpha);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(PROP_ALPHA, alpha);
|
||||||
|
COPY_PROPERTY_TO_QSCRIPTVALUE(PROP_UNLIT, unlit);
|
||||||
_pulse.copyToScriptValue(_desiredProperties, properties, engine, skipDefaults, defaultEntityProperties, returnNothingOnEmptyPropertyFlags, isMyOwnAvatarEntity);
|
_pulse.copyToScriptValue(_desiredProperties, properties, engine, skipDefaults, defaultEntityProperties, returnNothingOnEmptyPropertyFlags, isMyOwnAvatarEntity);
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE(PROP_SHAPE, shape);
|
COPY_PROPERTY_TO_QSCRIPTVALUE(PROP_SHAPE, shape);
|
||||||
}
|
}
|
||||||
|
@ -2205,6 +2208,7 @@ void EntityItemProperties::copyFromScriptValue(const ScriptValue& object, bool h
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(compoundShapeURL, QString, setCompoundShapeURL);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(compoundShapeURL, QString, setCompoundShapeURL);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(color, u8vec3Color, setColor);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(color, u8vec3Color, setColor);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(alpha, float, setAlpha);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(alpha, float, setAlpha);
|
||||||
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(unlit, bool, setUnlit);
|
||||||
_pulse.copyFromScriptValue(object, namesSet, _defaultSettings);
|
_pulse.copyFromScriptValue(object, namesSet, _defaultSettings);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(textures, QString, setTextures);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(textures, QString, setTextures);
|
||||||
|
|
||||||
|
@ -2280,7 +2284,6 @@ void EntityItemProperties::copyFromScriptValue(const ScriptValue& object, bool h
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(rightMargin, float, setRightMargin);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(rightMargin, float, setRightMargin);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(topMargin, float, setTopMargin);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(topMargin, float, setTopMargin);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(bottomMargin, float, setBottomMargin);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(bottomMargin, float, setBottomMargin);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(unlit, bool, setUnlit);
|
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(font, QString, setFont);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(font, QString, setFont);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_ENUM(textEffect, TextEffect);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE_ENUM(textEffect, TextEffect);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(textEffectColor, u8vec3Color, setTextEffectColor);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(textEffectColor, u8vec3Color, setTextEffectColor);
|
||||||
|
@ -2499,6 +2502,7 @@ void EntityItemProperties::merge(const EntityItemProperties& other) {
|
||||||
COPY_PROPERTY_IF_CHANGED(compoundShapeURL);
|
COPY_PROPERTY_IF_CHANGED(compoundShapeURL);
|
||||||
COPY_PROPERTY_IF_CHANGED(color);
|
COPY_PROPERTY_IF_CHANGED(color);
|
||||||
COPY_PROPERTY_IF_CHANGED(alpha);
|
COPY_PROPERTY_IF_CHANGED(alpha);
|
||||||
|
COPY_PROPERTY_IF_CHANGED(unlit);
|
||||||
_pulse.merge(other._pulse);
|
_pulse.merge(other._pulse);
|
||||||
COPY_PROPERTY_IF_CHANGED(textures);
|
COPY_PROPERTY_IF_CHANGED(textures);
|
||||||
|
|
||||||
|
@ -2574,7 +2578,6 @@ void EntityItemProperties::merge(const EntityItemProperties& other) {
|
||||||
COPY_PROPERTY_IF_CHANGED(rightMargin);
|
COPY_PROPERTY_IF_CHANGED(rightMargin);
|
||||||
COPY_PROPERTY_IF_CHANGED(topMargin);
|
COPY_PROPERTY_IF_CHANGED(topMargin);
|
||||||
COPY_PROPERTY_IF_CHANGED(bottomMargin);
|
COPY_PROPERTY_IF_CHANGED(bottomMargin);
|
||||||
COPY_PROPERTY_IF_CHANGED(unlit);
|
|
||||||
COPY_PROPERTY_IF_CHANGED(font);
|
COPY_PROPERTY_IF_CHANGED(font);
|
||||||
COPY_PROPERTY_IF_CHANGED(textEffect);
|
COPY_PROPERTY_IF_CHANGED(textEffect);
|
||||||
COPY_PROPERTY_IF_CHANGED(textEffectColor);
|
COPY_PROPERTY_IF_CHANGED(textEffectColor);
|
||||||
|
@ -2830,6 +2833,7 @@ bool EntityItemProperties::getPropertyInfo(const QString& propertyName, EntityPr
|
||||||
ADD_PROPERTY_TO_MAP(PROP_COMPOUND_SHAPE_URL, CompoundShapeURL, compoundShapeURL, QString);
|
ADD_PROPERTY_TO_MAP(PROP_COMPOUND_SHAPE_URL, CompoundShapeURL, compoundShapeURL, QString);
|
||||||
ADD_PROPERTY_TO_MAP(PROP_COLOR, Color, color, u8vec3Color);
|
ADD_PROPERTY_TO_MAP(PROP_COLOR, Color, color, u8vec3Color);
|
||||||
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_ALPHA, Alpha, alpha, float, particle::MINIMUM_ALPHA, particle::MAXIMUM_ALPHA);
|
ADD_PROPERTY_TO_MAP_WITH_RANGE(PROP_ALPHA, Alpha, alpha, float, particle::MINIMUM_ALPHA, particle::MAXIMUM_ALPHA);
|
||||||
|
ADD_PROPERTY_TO_MAP(PROP_UNLIT, Unlit, unlit, bool);
|
||||||
{ // Pulse
|
{ // Pulse
|
||||||
ADD_GROUP_PROPERTY_TO_MAP(PROP_PULSE_MIN, Pulse, pulse, Min, min);
|
ADD_GROUP_PROPERTY_TO_MAP(PROP_PULSE_MIN, Pulse, pulse, Min, min);
|
||||||
ADD_GROUP_PROPERTY_TO_MAP(PROP_PULSE_MAX, Pulse, pulse, Max, max);
|
ADD_GROUP_PROPERTY_TO_MAP(PROP_PULSE_MAX, Pulse, pulse, Max, max);
|
||||||
|
@ -2950,7 +2954,6 @@ bool EntityItemProperties::getPropertyInfo(const QString& propertyName, EntityPr
|
||||||
ADD_PROPERTY_TO_MAP(PROP_RIGHT_MARGIN, RightMargin, rightMargin, float);
|
ADD_PROPERTY_TO_MAP(PROP_RIGHT_MARGIN, RightMargin, rightMargin, float);
|
||||||
ADD_PROPERTY_TO_MAP(PROP_TOP_MARGIN, TopMargin, topMargin, float);
|
ADD_PROPERTY_TO_MAP(PROP_TOP_MARGIN, TopMargin, topMargin, float);
|
||||||
ADD_PROPERTY_TO_MAP(PROP_BOTTOM_MARGIN, BottomMargin, bottomMargin, float);
|
ADD_PROPERTY_TO_MAP(PROP_BOTTOM_MARGIN, BottomMargin, bottomMargin, float);
|
||||||
ADD_PROPERTY_TO_MAP(PROP_UNLIT, Unlit, unlit, bool);
|
|
||||||
ADD_PROPERTY_TO_MAP(PROP_FONT, Font, font, QString);
|
ADD_PROPERTY_TO_MAP(PROP_FONT, Font, font, QString);
|
||||||
ADD_PROPERTY_TO_MAP(PROP_TEXT_EFFECT, TextEffect, textEffect, TextEffect);
|
ADD_PROPERTY_TO_MAP(PROP_TEXT_EFFECT, TextEffect, textEffect, TextEffect);
|
||||||
ADD_PROPERTY_TO_MAP(PROP_TEXT_EFFECT_COLOR, TextEffectColor, textEffectColor, u8vec3Color);
|
ADD_PROPERTY_TO_MAP(PROP_TEXT_EFFECT_COLOR, TextEffectColor, textEffectColor, u8vec3Color);
|
||||||
|
@ -3502,6 +3505,7 @@ OctreeElement::AppendState EntityItemProperties::encodeEntityEditPacket(PacketTy
|
||||||
properties.getType() == EntityTypes::Sphere) {
|
properties.getType() == EntityTypes::Sphere) {
|
||||||
APPEND_ENTITY_PROPERTY(PROP_COLOR, properties.getColor());
|
APPEND_ENTITY_PROPERTY(PROP_COLOR, properties.getColor());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_ALPHA, properties.getAlpha());
|
APPEND_ENTITY_PROPERTY(PROP_ALPHA, properties.getAlpha());
|
||||||
|
APPEND_ENTITY_PROPERTY(PROP_UNLIT, properties.getUnlit());
|
||||||
_staticPulse.setProperties(properties);
|
_staticPulse.setProperties(properties);
|
||||||
_staticPulse.appendToEditPacket(packetData, requestedProperties, propertyFlags,
|
_staticPulse.appendToEditPacket(packetData, requestedProperties, propertyFlags,
|
||||||
propertiesDidntFit, propertyCount, appendState);
|
propertiesDidntFit, propertyCount, appendState);
|
||||||
|
@ -3979,6 +3983,7 @@ bool EntityItemProperties::decodeEntityEditPacket(const unsigned char* data, int
|
||||||
properties.getType() == EntityTypes::Sphere) {
|
properties.getType() == EntityTypes::Sphere) {
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_COLOR, u8vec3Color, setColor);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_COLOR, u8vec3Color, setColor);
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_ALPHA, float, setAlpha);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_ALPHA, float, setAlpha);
|
||||||
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_UNLIT, bool, setUnlit);
|
||||||
properties.getPulse().decodeFromEditPacket(propertyFlags, dataAt, processedBytes);
|
properties.getPulse().decodeFromEditPacket(propertyFlags, dataAt, processedBytes);
|
||||||
|
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_SHAPE, QString, setShape);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_SHAPE, QString, setShape);
|
||||||
|
@ -4200,6 +4205,7 @@ void EntityItemProperties::markAllChanged() {
|
||||||
_compoundShapeURLChanged = true;
|
_compoundShapeURLChanged = true;
|
||||||
_colorChanged = true;
|
_colorChanged = true;
|
||||||
_alphaChanged = true;
|
_alphaChanged = true;
|
||||||
|
_unlitChanged = true;
|
||||||
_pulse.markAllChanged();
|
_pulse.markAllChanged();
|
||||||
_texturesChanged = true;
|
_texturesChanged = true;
|
||||||
|
|
||||||
|
@ -4275,7 +4281,6 @@ void EntityItemProperties::markAllChanged() {
|
||||||
_rightMarginChanged = true;
|
_rightMarginChanged = true;
|
||||||
_topMarginChanged = true;
|
_topMarginChanged = true;
|
||||||
_bottomMarginChanged = true;
|
_bottomMarginChanged = true;
|
||||||
_unlitChanged = true;
|
|
||||||
_fontChanged = true;
|
_fontChanged = true;
|
||||||
_textEffectChanged = true;
|
_textEffectChanged = true;
|
||||||
_textEffectColorChanged = true;
|
_textEffectColorChanged = true;
|
||||||
|
@ -4674,6 +4679,9 @@ QList<QString> EntityItemProperties::listChangedProperties() {
|
||||||
if (alphaChanged()) {
|
if (alphaChanged()) {
|
||||||
out += "alpha";
|
out += "alpha";
|
||||||
}
|
}
|
||||||
|
if (unlitChanged()) {
|
||||||
|
out += "unlit";
|
||||||
|
}
|
||||||
getPulse().listChangedProperties(out);
|
getPulse().listChangedProperties(out);
|
||||||
if (texturesChanged()) {
|
if (texturesChanged()) {
|
||||||
out += "textures";
|
out += "textures";
|
||||||
|
@ -4875,9 +4883,6 @@ QList<QString> EntityItemProperties::listChangedProperties() {
|
||||||
if (bottomMarginChanged()) {
|
if (bottomMarginChanged()) {
|
||||||
out += "bottomMargin";
|
out += "bottomMargin";
|
||||||
}
|
}
|
||||||
if (unlitChanged()) {
|
|
||||||
out += "unlit";
|
|
||||||
}
|
|
||||||
if (fontChanged()) {
|
if (fontChanged()) {
|
||||||
out += "font";
|
out += "font";
|
||||||
}
|
}
|
||||||
|
|
|
@ -254,6 +254,7 @@ public:
|
||||||
DEFINE_PROPERTY_REF(PROP_COMPOUND_SHAPE_URL, CompoundShapeURL, compoundShapeURL, QString, "");
|
DEFINE_PROPERTY_REF(PROP_COMPOUND_SHAPE_URL, CompoundShapeURL, compoundShapeURL, QString, "");
|
||||||
DEFINE_PROPERTY_REF(PROP_COLOR, Color, color, u8vec3Color, ENTITY_ITEM_DEFAULT_COLOR);
|
DEFINE_PROPERTY_REF(PROP_COLOR, Color, color, u8vec3Color, ENTITY_ITEM_DEFAULT_COLOR);
|
||||||
DEFINE_PROPERTY(PROP_ALPHA, Alpha, alpha, float, ENTITY_ITEM_DEFAULT_ALPHA);
|
DEFINE_PROPERTY(PROP_ALPHA, Alpha, alpha, float, ENTITY_ITEM_DEFAULT_ALPHA);
|
||||||
|
DEFINE_PROPERTY_REF(PROP_UNLIT, Unlit, unlit, bool, false);
|
||||||
DEFINE_PROPERTY_GROUP(Pulse, pulse, PulsePropertyGroup);
|
DEFINE_PROPERTY_GROUP(Pulse, pulse, PulsePropertyGroup);
|
||||||
DEFINE_PROPERTY_REF(PROP_TEXTURES, Textures, textures, QString, "");
|
DEFINE_PROPERTY_REF(PROP_TEXTURES, Textures, textures, QString, "");
|
||||||
|
|
||||||
|
@ -329,7 +330,6 @@ public:
|
||||||
DEFINE_PROPERTY_REF(PROP_RIGHT_MARGIN, RightMargin, rightMargin, float, TextEntityItem::DEFAULT_MARGIN);
|
DEFINE_PROPERTY_REF(PROP_RIGHT_MARGIN, RightMargin, rightMargin, float, TextEntityItem::DEFAULT_MARGIN);
|
||||||
DEFINE_PROPERTY_REF(PROP_TOP_MARGIN, TopMargin, topMargin, float, TextEntityItem::DEFAULT_MARGIN);
|
DEFINE_PROPERTY_REF(PROP_TOP_MARGIN, TopMargin, topMargin, float, TextEntityItem::DEFAULT_MARGIN);
|
||||||
DEFINE_PROPERTY_REF(PROP_BOTTOM_MARGIN, BottomMargin, bottomMargin, float, TextEntityItem::DEFAULT_MARGIN);
|
DEFINE_PROPERTY_REF(PROP_BOTTOM_MARGIN, BottomMargin, bottomMargin, float, TextEntityItem::DEFAULT_MARGIN);
|
||||||
DEFINE_PROPERTY_REF(PROP_UNLIT, Unlit, unlit, bool, false);
|
|
||||||
DEFINE_PROPERTY_REF(PROP_FONT, Font, font, QString, ROBOTO_FONT_FAMILY);
|
DEFINE_PROPERTY_REF(PROP_FONT, Font, font, QString, ROBOTO_FONT_FAMILY);
|
||||||
DEFINE_PROPERTY_REF_ENUM(PROP_TEXT_EFFECT, TextEffect, textEffect, TextEffect, TextEffect::NO_EFFECT);
|
DEFINE_PROPERTY_REF_ENUM(PROP_TEXT_EFFECT, TextEffect, textEffect, TextEffect, TextEffect::NO_EFFECT);
|
||||||
DEFINE_PROPERTY_REF(PROP_TEXT_EFFECT_COLOR, TextEffectColor, textEffectColor, u8vec3Color, TextEntityItem::DEFAULT_TEXT_COLOR);
|
DEFINE_PROPERTY_REF(PROP_TEXT_EFFECT_COLOR, TextEffectColor, textEffectColor, u8vec3Color, TextEntityItem::DEFAULT_TEXT_COLOR);
|
||||||
|
|
|
@ -121,6 +121,7 @@ enum EntityPropertyList {
|
||||||
PROP_COMPOUND_SHAPE_URL,
|
PROP_COMPOUND_SHAPE_URL,
|
||||||
PROP_COLOR,
|
PROP_COLOR,
|
||||||
PROP_ALPHA,
|
PROP_ALPHA,
|
||||||
|
PROP_UNLIT,
|
||||||
PROP_PULSE_MIN,
|
PROP_PULSE_MIN,
|
||||||
PROP_PULSE_MAX,
|
PROP_PULSE_MAX,
|
||||||
PROP_PULSE_PERIOD,
|
PROP_PULSE_PERIOD,
|
||||||
|
@ -266,12 +267,11 @@ enum EntityPropertyList {
|
||||||
PROP_RIGHT_MARGIN = PROP_DERIVED_7,
|
PROP_RIGHT_MARGIN = PROP_DERIVED_7,
|
||||||
PROP_TOP_MARGIN = PROP_DERIVED_8,
|
PROP_TOP_MARGIN = PROP_DERIVED_8,
|
||||||
PROP_BOTTOM_MARGIN = PROP_DERIVED_9,
|
PROP_BOTTOM_MARGIN = PROP_DERIVED_9,
|
||||||
PROP_UNLIT = PROP_DERIVED_10,
|
PROP_FONT = PROP_DERIVED_10,
|
||||||
PROP_FONT = PROP_DERIVED_11,
|
PROP_TEXT_EFFECT = PROP_DERIVED_11,
|
||||||
PROP_TEXT_EFFECT = PROP_DERIVED_12,
|
PROP_TEXT_EFFECT_COLOR = PROP_DERIVED_12,
|
||||||
PROP_TEXT_EFFECT_COLOR = PROP_DERIVED_13,
|
PROP_TEXT_EFFECT_THICKNESS = PROP_DERIVED_13,
|
||||||
PROP_TEXT_EFFECT_THICKNESS = PROP_DERIVED_14,
|
PROP_TEXT_ALIGNMENT = PROP_DERIVED_14,
|
||||||
PROP_TEXT_ALIGNMENT = PROP_DERIVED_15,
|
|
||||||
|
|
||||||
// Zone
|
// Zone
|
||||||
// Keylight
|
// Keylight
|
||||||
|
|
|
@ -119,6 +119,7 @@ EntityItemProperties ShapeEntityItem::getProperties(const EntityPropertyFlags& d
|
||||||
|
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(color, getColor);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(color, getColor);
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(alpha, getAlpha);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(alpha, getAlpha);
|
||||||
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(unlit, getUnlit);
|
||||||
withReadLock([&] {
|
withReadLock([&] {
|
||||||
_pulseProperties.getProperties(properties);
|
_pulseProperties.getProperties(properties);
|
||||||
});
|
});
|
||||||
|
@ -170,6 +171,7 @@ bool ShapeEntityItem::setSubClassProperties(const EntityItemProperties& properti
|
||||||
|
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(color, setColor);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(color, setColor);
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(alpha, setAlpha);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(alpha, setAlpha);
|
||||||
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(unlit, setUnlit);
|
||||||
withWriteLock([&] {
|
withWriteLock([&] {
|
||||||
bool pulsePropertiesChanged = _pulseProperties.setProperties(properties);
|
bool pulsePropertiesChanged = _pulseProperties.setProperties(properties);
|
||||||
somethingChanged |= pulsePropertiesChanged;
|
somethingChanged |= pulsePropertiesChanged;
|
||||||
|
@ -190,6 +192,7 @@ int ShapeEntityItem::readEntitySubclassDataFromBuffer(const unsigned char* data,
|
||||||
|
|
||||||
READ_ENTITY_PROPERTY(PROP_COLOR, glm::u8vec3, setColor);
|
READ_ENTITY_PROPERTY(PROP_COLOR, glm::u8vec3, setColor);
|
||||||
READ_ENTITY_PROPERTY(PROP_ALPHA, float, setAlpha);
|
READ_ENTITY_PROPERTY(PROP_ALPHA, float, setAlpha);
|
||||||
|
READ_ENTITY_PROPERTY(PROP_UNLIT, bool, setUnlit);
|
||||||
withWriteLock([&] {
|
withWriteLock([&] {
|
||||||
int bytesFromPulse = _pulseProperties.readEntitySubclassDataFromBuffer(dataAt, (bytesLeftToRead - bytesRead), args,
|
int bytesFromPulse = _pulseProperties.readEntitySubclassDataFromBuffer(dataAt, (bytesLeftToRead - bytesRead), args,
|
||||||
propertyFlags, overwriteLocalData,
|
propertyFlags, overwriteLocalData,
|
||||||
|
@ -206,6 +209,7 @@ EntityPropertyFlags ShapeEntityItem::getEntityProperties(EncodeBitstreamParams&
|
||||||
EntityPropertyFlags requestedProperties = EntityItem::getEntityProperties(params);
|
EntityPropertyFlags requestedProperties = EntityItem::getEntityProperties(params);
|
||||||
requestedProperties += PROP_COLOR;
|
requestedProperties += PROP_COLOR;
|
||||||
requestedProperties += PROP_ALPHA;
|
requestedProperties += PROP_ALPHA;
|
||||||
|
requestedProperties += PROP_UNLIT;
|
||||||
requestedProperties += _pulseProperties.getEntityProperties(params);
|
requestedProperties += _pulseProperties.getEntityProperties(params);
|
||||||
requestedProperties += PROP_SHAPE;
|
requestedProperties += PROP_SHAPE;
|
||||||
return requestedProperties;
|
return requestedProperties;
|
||||||
|
@ -222,6 +226,7 @@ void ShapeEntityItem::appendSubclassData(OctreePacketData* packetData, EncodeBit
|
||||||
bool successPropertyFits = true;
|
bool successPropertyFits = true;
|
||||||
APPEND_ENTITY_PROPERTY(PROP_COLOR, getColor());
|
APPEND_ENTITY_PROPERTY(PROP_COLOR, getColor());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_ALPHA, getAlpha());
|
APPEND_ENTITY_PROPERTY(PROP_ALPHA, getAlpha());
|
||||||
|
APPEND_ENTITY_PROPERTY(PROP_UNLIT, getUnlit());
|
||||||
withReadLock([&] {
|
withReadLock([&] {
|
||||||
_pulseProperties.appendSubclassData(packetData, params, entityTreeElementExtraEncodeData, requestedProperties,
|
_pulseProperties.appendSubclassData(packetData, params, entityTreeElementExtraEncodeData, requestedProperties,
|
||||||
propertyFlags, propertiesDidntFit, propertyCount, appendState);
|
propertyFlags, propertiesDidntFit, propertyCount, appendState);
|
||||||
|
@ -255,6 +260,19 @@ float ShapeEntityItem::getAlpha() const {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ShapeEntityItem::setUnlit(bool unlit) {
|
||||||
|
withWriteLock([&] {
|
||||||
|
_needsRenderUpdate |= _unlit != unlit;
|
||||||
|
_unlit = unlit;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ShapeEntityItem::getUnlit() const {
|
||||||
|
return resultWithReadLock<bool>([&] {
|
||||||
|
return _unlit;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
void ShapeEntityItem::setUnscaledDimensions(const glm::vec3& value) {
|
void ShapeEntityItem::setUnscaledDimensions(const glm::vec3& value) {
|
||||||
const float MAX_FLAT_DIMENSION = 0.0001f;
|
const float MAX_FLAT_DIMENSION = 0.0001f;
|
||||||
const auto shape = getShape();
|
const auto shape = getShape();
|
||||||
|
|
|
@ -82,6 +82,9 @@ public:
|
||||||
glm::u8vec3 getColor() const;
|
glm::u8vec3 getColor() const;
|
||||||
void setColor(const glm::u8vec3& value);
|
void setColor(const glm::u8vec3& value);
|
||||||
|
|
||||||
|
bool getUnlit() const;
|
||||||
|
void setUnlit(bool unlit);
|
||||||
|
|
||||||
void setUnscaledDimensions(const glm::vec3& value) override;
|
void setUnscaledDimensions(const glm::vec3& value) override;
|
||||||
|
|
||||||
bool supportsDetailedIntersection() const override;
|
bool supportsDetailedIntersection() const override;
|
||||||
|
@ -107,6 +110,7 @@ public:
|
||||||
protected:
|
protected:
|
||||||
glm::u8vec3 _color;
|
glm::u8vec3 _color;
|
||||||
float _alpha { 1.0f };
|
float _alpha { 1.0f };
|
||||||
|
bool _unlit { false };
|
||||||
PulsePropertyGroup _pulseProperties;
|
PulsePropertyGroup _pulseProperties;
|
||||||
entity::Shape _shape { entity::Shape::Sphere };
|
entity::Shape _shape { entity::Shape::Sphere };
|
||||||
|
|
||||||
|
|
|
@ -296,6 +296,7 @@ enum class EntityVersion : PacketVersion {
|
||||||
AudioZones,
|
AudioZones,
|
||||||
AnimationSmoothFrames,
|
AnimationSmoothFrames,
|
||||||
ProceduralParticles,
|
ProceduralParticles,
|
||||||
|
ShapeUnlit,
|
||||||
|
|
||||||
// Add new versions above here
|
// Add new versions above here
|
||||||
NUM_PACKET_TYPE,
|
NUM_PACKET_TYPE,
|
||||||
|
|
|
@ -8,6 +8,10 @@
|
||||||
"shapeAlpha": {
|
"shapeAlpha": {
|
||||||
"tooltip": "The opacity of the entity between 0.0 fully transparent and 1.0 completely opaque."
|
"tooltip": "The opacity of the entity between 0.0 fully transparent and 1.0 completely opaque."
|
||||||
},
|
},
|
||||||
|
"shapeUnlit": {
|
||||||
|
"tooltip": "If enabled, the entity will not be lit by the keylight or local lights.",
|
||||||
|
"jsPropertyName": "unlit"
|
||||||
|
},
|
||||||
"text": {
|
"text": {
|
||||||
"tooltip": "The text to display on the entity."
|
"tooltip": "The text to display on the entity."
|
||||||
},
|
},
|
||||||
|
|
|
@ -178,6 +178,12 @@ const GROUPS = [
|
||||||
propertyID: "shapeAlpha",
|
propertyID: "shapeAlpha",
|
||||||
propertyName: "alpha",
|
propertyName: "alpha",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: "Unlit",
|
||||||
|
type: "bool",
|
||||||
|
propertyID: "shapeUnlit",
|
||||||
|
propertyName: "unlit"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue