|
|
@@ -31,11 +31,11 @@ namespace bs
|
|
|
bool isShaderValid(const HShader& shader) { return shader.isLoaded(); }
|
|
|
|
|
|
template<>
|
|
|
- bool isShaderValid(const SPtr<ct::ShaderCore>& shader) { return shader != nullptr; }
|
|
|
+ bool isShaderValid(const SPtr<ct::Shader>& shader) { return shader != nullptr; }
|
|
|
|
|
|
template<bool Core> struct TMatType { };
|
|
|
template<> struct TMatType<false> { typedef Material Type; };
|
|
|
- template<> struct TMatType<true> { typedef ct::MaterialCore Type; };
|
|
|
+ template<> struct TMatType<true> { typedef ct::Material Type; };
|
|
|
|
|
|
template<bool Core>
|
|
|
SPtr<typename TMatType<Core>::Type> getMaterialPtr(const TMaterial<Core>* material)
|
|
|
@@ -404,33 +404,33 @@ namespace bs
|
|
|
markListenerResourcesDirty();
|
|
|
}
|
|
|
|
|
|
- SPtr<ct::MaterialCore> Material::getCore() const
|
|
|
+ SPtr<ct::Material> Material::getCore() const
|
|
|
{
|
|
|
- return std::static_pointer_cast<ct::MaterialCore>(mCoreSpecific);
|
|
|
+ return std::static_pointer_cast<ct::Material>(mCoreSpecific);
|
|
|
}
|
|
|
|
|
|
SPtr<ct::CoreObject> Material::createCore() const
|
|
|
{
|
|
|
- ct::MaterialCore* material = nullptr;
|
|
|
+ ct::Material* material = nullptr;
|
|
|
|
|
|
- SPtr<ct::ShaderCore> shader;
|
|
|
+ SPtr<ct::Shader> shader;
|
|
|
if (mShader.isLoaded())
|
|
|
{
|
|
|
shader = mShader->getCore();
|
|
|
|
|
|
- Vector<SPtr<ct::TechniqueCore>> techniques(mTechniques.size());
|
|
|
+ Vector<SPtr<ct::Technique>> techniques(mTechniques.size());
|
|
|
for (UINT32 i = 0; i < (UINT32)mTechniques.size(); i++)
|
|
|
techniques[i] = mTechniques[i]->getCore();
|
|
|
|
|
|
- SPtr<ct::MaterialParamsCore> materialParams = bs_shared_ptr_new<ct::MaterialParamsCore>(shader, mParams);
|
|
|
+ SPtr<ct::MaterialParams> materialParams = bs_shared_ptr_new<ct::MaterialParams>(shader, mParams);
|
|
|
|
|
|
- material = new (bs_alloc<ct::MaterialCore>()) ct::MaterialCore(shader, techniques, materialParams);
|
|
|
+ material = new (bs_alloc<ct::Material>()) ct::Material(shader, techniques, materialParams);
|
|
|
}
|
|
|
|
|
|
if (material == nullptr)
|
|
|
- material = new (bs_alloc<ct::MaterialCore>()) ct::MaterialCore(shader);
|
|
|
+ material = new (bs_alloc<ct::Material>()) ct::Material(shader);
|
|
|
|
|
|
- SPtr<ct::MaterialCore> materialPtr = bs_shared_ptr<ct::MaterialCore>(material);
|
|
|
+ SPtr<ct::Material> materialPtr = bs_shared_ptr<ct::Material>(material);
|
|
|
materialPtr->_setThisPtr(materialPtr);
|
|
|
|
|
|
return materialPtr;
|
|
|
@@ -443,27 +443,27 @@ namespace bs
|
|
|
mParams->getSyncData(nullptr, paramsSize);
|
|
|
|
|
|
UINT32 numTechniques = (UINT32)mTechniques.size();
|
|
|
- UINT32 size = sizeof(UINT32) * 2 + sizeof(SPtr<ct::ShaderCore>) +
|
|
|
- sizeof(SPtr<ct::TechniqueCore>) * numTechniques + paramsSize;
|
|
|
+ UINT32 size = sizeof(UINT32) * 2 + sizeof(SPtr<ct::Shader>) +
|
|
|
+ sizeof(SPtr<ct::Technique>) * numTechniques + paramsSize;
|
|
|
|
|
|
UINT8* buffer = allocator->alloc(size);
|
|
|
char* dataPtr = (char*)buffer;
|
|
|
|
|
|
- SPtr<ct::ShaderCore>* shader = new (dataPtr)SPtr<ct::ShaderCore>();
|
|
|
+ SPtr<ct::Shader>* shader = new (dataPtr)SPtr<ct::Shader>();
|
|
|
if (mShader.isLoaded(false))
|
|
|
*shader = mShader->getCore();
|
|
|
else
|
|
|
*shader = nullptr;
|
|
|
|
|
|
- dataPtr += sizeof(SPtr<ct::ShaderCore>);
|
|
|
+ dataPtr += sizeof(SPtr<ct::Shader>);
|
|
|
dataPtr = rttiWriteElem(numTechniques, dataPtr);
|
|
|
|
|
|
for(UINT32 i = 0; i < numTechniques; i++)
|
|
|
{
|
|
|
- SPtr<ct::TechniqueCore>* technique = new (dataPtr)SPtr<ct::TechniqueCore>();
|
|
|
+ SPtr<ct::Technique>* technique = new (dataPtr)SPtr<ct::Technique>();
|
|
|
*technique = mTechniques[i]->getCore();
|
|
|
|
|
|
- dataPtr += sizeof(SPtr<ct::TechniqueCore>);
|
|
|
+ dataPtr += sizeof(SPtr<ct::Technique>);
|
|
|
}
|
|
|
|
|
|
dataPtr = rttiWriteElem(paramsSize, dataPtr);
|
|
|
@@ -722,20 +722,20 @@ namespace bs
|
|
|
|
|
|
namespace ct
|
|
|
{
|
|
|
- MaterialCore::MaterialCore(const SPtr<ShaderCore>& shader)
|
|
|
+ Material::Material(const SPtr<Shader>& shader)
|
|
|
{
|
|
|
setShader(shader);
|
|
|
}
|
|
|
|
|
|
- MaterialCore::MaterialCore(const SPtr<ShaderCore>& shader, const Vector<SPtr<TechniqueCore>>& techniques,
|
|
|
- const SPtr<MaterialParamsCore>& materialParams)
|
|
|
+ Material::Material(const SPtr<Shader>& shader, const Vector<SPtr<Technique>>& techniques,
|
|
|
+ const SPtr<MaterialParams>& materialParams)
|
|
|
{
|
|
|
mShader = shader;
|
|
|
mParams = materialParams;
|
|
|
mTechniques = techniques;
|
|
|
}
|
|
|
|
|
|
- void MaterialCore::setShader(const SPtr<ShaderCore>& shader)
|
|
|
+ void Material::setShader(const SPtr<Shader>& shader)
|
|
|
{
|
|
|
mShader = shader;
|
|
|
|
|
|
@@ -744,15 +744,15 @@ namespace bs
|
|
|
_markCoreDirty();
|
|
|
}
|
|
|
|
|
|
- void MaterialCore::syncToCore(const CoreSyncData& data)
|
|
|
+ void Material::syncToCore(const CoreSyncData& data)
|
|
|
{
|
|
|
char* dataPtr = (char*)data.getBuffer();
|
|
|
|
|
|
- SPtr<ShaderCore>* shader = (SPtr<ShaderCore>*)dataPtr;
|
|
|
+ SPtr<Shader>* shader = (SPtr<Shader>*)dataPtr;
|
|
|
|
|
|
mShader = *shader;
|
|
|
- shader->~SPtr<ShaderCore>();
|
|
|
- dataPtr += sizeof(SPtr<ShaderCore>);
|
|
|
+ shader->~SPtr<Shader>();
|
|
|
+ dataPtr += sizeof(SPtr<Shader>);
|
|
|
|
|
|
UINT32 numTechniques;
|
|
|
dataPtr = rttiReadElem(numTechniques, dataPtr);
|
|
|
@@ -760,10 +760,10 @@ namespace bs
|
|
|
mTechniques.resize(numTechniques);
|
|
|
for(UINT32 i = 0; i < numTechniques; i++)
|
|
|
{
|
|
|
- SPtr<TechniqueCore>* technique = (SPtr<TechniqueCore>*)dataPtr;
|
|
|
+ SPtr<Technique>* technique = (SPtr<Technique>*)dataPtr;
|
|
|
mTechniques[i] = *technique;
|
|
|
- technique->~SPtr<TechniqueCore>();
|
|
|
- dataPtr += sizeof(SPtr<TechniqueCore>);
|
|
|
+ technique->~SPtr<Technique>();
|
|
|
+ dataPtr += sizeof(SPtr<Technique>);
|
|
|
}
|
|
|
|
|
|
UINT32 paramsSize = 0;
|
|
|
@@ -774,10 +774,10 @@ namespace bs
|
|
|
dataPtr += paramsSize;
|
|
|
}
|
|
|
|
|
|
- SPtr<MaterialCore> MaterialCore::create(const SPtr<ShaderCore>& shader)
|
|
|
+ SPtr<Material> Material::create(const SPtr<Shader>& shader)
|
|
|
{
|
|
|
- MaterialCore* material = new (bs_alloc<MaterialCore>()) MaterialCore(shader);
|
|
|
- SPtr<MaterialCore> materialPtr = bs_shared_ptr<MaterialCore>(material);
|
|
|
+ Material* material = new (bs_alloc<Material>()) Material(shader);
|
|
|
+ SPtr<Material> materialPtr = bs_shared_ptr<Material>(material);
|
|
|
materialPtr->_setThisPtr(materialPtr);
|
|
|
materialPtr->initialize();
|
|
|
|