use both ubershader/unlit material provider
This commit is contained in:
@@ -136,7 +136,8 @@ namespace polyvox {
|
|||||||
Texture* _iblTexture = nullptr;
|
Texture* _iblTexture = nullptr;
|
||||||
IndirectLight* _indirectLight = nullptr;
|
IndirectLight* _indirectLight = nullptr;
|
||||||
|
|
||||||
MaterialProvider* _materialProvider = nullptr;
|
MaterialProvider* _ubershaderProvider = nullptr;
|
||||||
|
MaterialProvider* _unlitProvider = nullptr;
|
||||||
|
|
||||||
gltfio::ResourceLoader* _resourceLoader = nullptr;
|
gltfio::ResourceLoader* _resourceLoader = nullptr;
|
||||||
gltfio::TextureProvider* _stbDecoder = nullptr;
|
gltfio::TextureProvider* _stbDecoder = nullptr;
|
||||||
|
|||||||
@@ -73,7 +73,7 @@
|
|||||||
#include "ResourceManagement.hpp"
|
#include "ResourceManagement.hpp"
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#include "material/image_material.h"
|
#include "material/image.h"
|
||||||
#include "material/unlit_opaque.h"
|
#include "material/unlit_opaque.h"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -154,11 +154,11 @@ FilamentViewer::FilamentViewer(void* context, LoadResource loadResource,
|
|||||||
_view->setScene(_scene);
|
_view->setScene(_scene);
|
||||||
_view->setCamera(_mainCamera);
|
_view->setCamera(_mainCamera);
|
||||||
|
|
||||||
// ToneMapper *tm = new LinearToneMapper();
|
ToneMapper *tm = new LinearToneMapper();
|
||||||
// colorGrading = ColorGrading::Builder().toneMapper(tm).build(*_engine);
|
colorGrading = ColorGrading::Builder().toneMapper(tm).build(*_engine);
|
||||||
// delete tm;
|
delete tm;
|
||||||
|
|
||||||
// _view->setColorGrading(colorGrading);
|
_view->setColorGrading(colorGrading);
|
||||||
|
|
||||||
_cameraFocalLength = 28.0f;
|
_cameraFocalLength = 28.0f;
|
||||||
_mainCamera->setLensProjection(_cameraFocalLength, 1.0f, kNearPlane,
|
_mainCamera->setLensProjection(_cameraFocalLength, 1.0f, kNearPlane,
|
||||||
@@ -192,15 +192,16 @@ FilamentViewer::FilamentViewer(void* context, LoadResource loadResource,
|
|||||||
// auto materialRb = _loadResource("file:///mnt/hdd_2tb/home/hydroxide/projects/filament/unlit.filamat");
|
// auto materialRb = _loadResource("file:///mnt/hdd_2tb/home/hydroxide/projects/filament/unlit.filamat");
|
||||||
// Log("Loaded resource of size %d", materialRb.size);
|
// Log("Loaded resource of size %d", materialRb.size);
|
||||||
// _materialProvider = new FileMaterialProvider(_engine, (void*) materialRb.data, (size_t)materialRb.size);
|
// _materialProvider = new FileMaterialProvider(_engine, (void*) materialRb.data, (size_t)materialRb.size);
|
||||||
//_materialProvider = new UnlitMaterialProvider(_engine);
|
|
||||||
|
_unlitProvider = new UnlitMaterialProvider(_engine);
|
||||||
_materialProvider = gltfio::createUbershaderProvider(
|
_ubershaderProvider = gltfio::createUbershaderProvider(
|
||||||
_engine, UBERARCHIVE_DEFAULT_DATA, UBERARCHIVE_DEFAULT_SIZE);
|
_engine, UBERARCHIVE_DEFAULT_DATA, UBERARCHIVE_DEFAULT_SIZE);
|
||||||
Log("Created material provider");
|
Log("Created material provider");
|
||||||
|
|
||||||
EntityManager &em = EntityManager::get();
|
EntityManager &em = EntityManager::get();
|
||||||
_ncm = new NameComponentManager(em);
|
_ncm = new NameComponentManager(em);
|
||||||
_assetLoader = AssetLoader::create({_engine, _materialProvider, _ncm, &em});
|
_assetLoader = AssetLoader::create({_engine, _ubershaderProvider, _ncm, &em});
|
||||||
|
|
||||||
_resourceLoader = new ResourceLoader({.engine = _engine,
|
_resourceLoader = new ResourceLoader({.engine = _engine,
|
||||||
.normalizeSkinningWeights = true });
|
.normalizeSkinningWeights = true });
|
||||||
_stbDecoder = createStbProvider(_engine);
|
_stbDecoder = createStbProvider(_engine);
|
||||||
@@ -268,7 +269,7 @@ void FilamentViewer::createImageRenderable() {
|
|||||||
|
|
||||||
_imageMaterial =
|
_imageMaterial =
|
||||||
Material::Builder()
|
Material::Builder()
|
||||||
.package(IMAGE_MATERIAL_PACKAGE, IMAGE_MATERIAL_IMAGE_SIZE)
|
.package(IMAGE_PACKAGE, IMAGE_IMAGE_SIZE)
|
||||||
.build(*_engine);
|
.build(*_engine);
|
||||||
|
|
||||||
_imageVb = VertexBuffer::Builder()
|
_imageVb = VertexBuffer::Builder()
|
||||||
@@ -530,7 +531,8 @@ FilamentViewer::~FilamentViewer() {
|
|||||||
clearAssets();
|
clearAssets();
|
||||||
delete _sceneAssetLoader;
|
delete _sceneAssetLoader;
|
||||||
_resourceLoader->asyncCancelLoad();
|
_resourceLoader->asyncCancelLoad();
|
||||||
_materialProvider->destroyMaterials();
|
_ubershaderProvider->destroyMaterials();
|
||||||
|
_unlitProvider->destroyMaterials();
|
||||||
AssetLoader::destroy(&_assetLoader);
|
AssetLoader::destroy(&_assetLoader);
|
||||||
for(auto it : _lights) {
|
for(auto it : _lights) {
|
||||||
_engine->destroy(it);
|
_engine->destroy(it);
|
||||||
|
|||||||
Reference in New Issue
Block a user