mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 23:40:11 +02:00
bake particles and polylines
This commit is contained in:
parent
1a1277e9e7
commit
168e47aa62
2 changed files with 13 additions and 5 deletions
|
@ -182,12 +182,12 @@ void MaterialBaker::handleFinishedTextureBaker() {
|
||||||
|
|
||||||
void MaterialBaker::outputMaterial() {
|
void MaterialBaker::outputMaterial() {
|
||||||
if (_materialResource) {
|
if (_materialResource) {
|
||||||
QJsonDocument json;
|
QJsonObject json;
|
||||||
if (_materialResource->parsedMaterials.networkMaterials.size() == 1) {
|
if (_materialResource->parsedMaterials.networkMaterials.size() == 1) {
|
||||||
auto networkMaterial = _materialResource->parsedMaterials.networkMaterials.begin();
|
auto networkMaterial = _materialResource->parsedMaterials.networkMaterials.begin();
|
||||||
auto scriptableMaterial = scriptable::ScriptableMaterial(networkMaterial->second);
|
auto scriptableMaterial = scriptable::ScriptableMaterial(networkMaterial->second);
|
||||||
QVariant materialVariant = scriptable::scriptableMaterialToScriptValue(&_scriptEngine, scriptableMaterial).toVariant();
|
QVariant materialVariant = scriptable::scriptableMaterialToScriptValue(&_scriptEngine, scriptableMaterial).toVariant();
|
||||||
json = QJsonDocument::fromVariant(materialVariant);
|
json.insert("materials", QJsonDocument::fromVariant(materialVariant).object());
|
||||||
} else {
|
} else {
|
||||||
QJsonArray materialArray;
|
QJsonArray materialArray;
|
||||||
for (auto networkMaterial : _materialResource->parsedMaterials.networkMaterials) {
|
for (auto networkMaterial : _materialResource->parsedMaterials.networkMaterials) {
|
||||||
|
@ -195,10 +195,10 @@ void MaterialBaker::outputMaterial() {
|
||||||
QVariant materialVariant = scriptable::scriptableMaterialToScriptValue(&_scriptEngine, scriptableMaterial).toVariant();
|
QVariant materialVariant = scriptable::scriptableMaterialToScriptValue(&_scriptEngine, scriptableMaterial).toVariant();
|
||||||
materialArray.append(QJsonDocument::fromVariant(materialVariant).object());
|
materialArray.append(QJsonDocument::fromVariant(materialVariant).object());
|
||||||
}
|
}
|
||||||
json.setArray(materialArray);
|
json.insert("materials", materialArray);
|
||||||
}
|
}
|
||||||
|
|
||||||
QByteArray outputMaterial = json.toJson(QJsonDocument::Compact);
|
QByteArray outputMaterial = QJsonDocument(json).toJson(QJsonDocument::Compact);
|
||||||
if (_isURL) {
|
if (_isURL) {
|
||||||
auto fileName = QUrl(_materialData).fileName();
|
auto fileName = QUrl(_materialData).fileName();
|
||||||
auto baseName = fileName.left(fileName.lastIndexOf('.'));
|
auto baseName = fileName.left(fileName.lastIndexOf('.'));
|
||||||
|
|
|
@ -288,6 +288,8 @@ void DomainBaker::addMaterialBaker(const QString& property, const QString& data,
|
||||||
// All the Entity Properties that can be baked
|
// All the Entity Properties that can be baked
|
||||||
// ***************************************************************************************
|
// ***************************************************************************************
|
||||||
|
|
||||||
|
const QString TYPE_KEY = "type";
|
||||||
|
|
||||||
// Models
|
// Models
|
||||||
const QString MODEL_URL_KEY = "modelURL";
|
const QString MODEL_URL_KEY = "modelURL";
|
||||||
const QString COMPOUND_SHAPE_URL_KEY = "compoundShapeURL";
|
const QString COMPOUND_SHAPE_URL_KEY = "compoundShapeURL";
|
||||||
|
@ -349,7 +351,13 @@ void DomainBaker::enumerateEntities() {
|
||||||
|
|
||||||
// Textures
|
// Textures
|
||||||
if (entity.contains(TEXTURES_KEY)) {
|
if (entity.contains(TEXTURES_KEY)) {
|
||||||
// TODO: the textures property is treated differently for different entity types
|
if (entity.contains(TYPE_KEY)) {
|
||||||
|
QString type = entity[TYPE_KEY].toString();
|
||||||
|
// TODO: handle textures for model entities
|
||||||
|
if (type == "ParticleEffect" || type == "PolyLine") {
|
||||||
|
addTextureBaker(TEXTURES_KEY, entity[TEXTURES_KEY].toString(), image::TextureUsage::DEFAULT_TEXTURE, *it);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (entity.contains(IMAGE_URL_KEY)) {
|
if (entity.contains(IMAGE_URL_KEY)) {
|
||||||
addTextureBaker(IMAGE_URL_KEY, entity[IMAGE_URL_KEY].toString(), image::TextureUsage::DEFAULT_TEXTURE, *it);
|
addTextureBaker(IMAGE_URL_KEY, entity[IMAGE_URL_KEY].toString(), image::TextureUsage::DEFAULT_TEXTURE, *it);
|
||||||
|
|
Loading…
Reference in a new issue