add missing method handlers on Windows and use 32bit depth buffer for render target by default

This commit is contained in:
Nick Fisher
2023-09-28 10:46:20 +10:00
parent d502450f9e
commit fd843147ad
7 changed files with 19 additions and 14 deletions

View File

@@ -21,9 +21,8 @@
#include "Log.hpp"
#include "AssetManager.hpp"
#include "material/UnlitMaterialProvider.hpp"
#include "material/FileMaterialProvider.hpp"
// #include "gltfio/materials/uberarchive.h"
#include "gltfio/materials/uberarchive.h"
extern "C" {
#include "material/image.h"
@@ -53,14 +52,14 @@ _scene(scene) {
_gltfResourceLoader = new ResourceLoader({.engine = _engine,
.normalizeSkinningWeights = true });
auto uberdata = resourceLoaderWrapper->load("packages/polyvox_filament/assets/default.uberz");
// auto uberdata = resourceLoaderWrapper->load("packages/polyvox_filament/assets/default.uberz");
if (!uberdata.data) {
Log("Failed to load ubershader material. This is fatal.");
}
// if (!uberdata.data) {
// Log("Failed to load ubershader material. This is fatal.");
// }
_ubershaderProvider = gltfio::createUbershaderProvider(
_engine, uberdata.data, uberdata.size);
_engine, UBERARCHIVE_DEFAULT_DATA, UBERARCHIVE_DEFAULT_SIZE);
Log("Created ubershader provider.");
EntityManager &em = EntityManager::get();

View File

@@ -602,7 +602,7 @@ void FilamentViewer::createRenderTarget(intptr_t textureId, uint32_t width, uint
.height(height)
.levels(1)
.usage(filament::Texture::Usage::DEPTH_ATTACHMENT)
.format(filament::Texture::InternalFormat::DEPTH24)
.format(filament::Texture::InternalFormat::DEPTH32F)
.build(*_engine);
_rt = filament::RenderTarget::Builder()
.texture(RenderTarget::AttachmentPoint::COLOR, _rtColor)
@@ -901,6 +901,10 @@ void FilamentViewer::updateViewportAndCameraProjection(
contentScaleFactor);
}
void FilamentViewer::setViewFrustumCulling(bool enabled) {
_view->setFrustumCullingEnabled(enabled);
}
void FilamentViewer::setCameraPosition(float x, float y, float z) {
Camera& cam =_view->getCamera();

View File

@@ -96,10 +96,14 @@ extern "C" {
return ((FilamentViewer*)viewer)->setCamera(asset, nodeName);
}
void void move_camera_to_asset(const void* const viewer, EntityId asset) {
void move_camera_to_asset(const void* const viewer, EntityId asset) {
((FilamentViewer*)viewer)->moveCameraToAsset(asset);
}
void set_view_frustum_culling(const void* const viewer, bool enabled) {
((FilamentViewer*)viewer)->setViewFrustumCulling(enabled);
}
void set_camera_focus_distance(const void* const viewer, float distance) {
((FilamentViewer*)viewer)->setCameraFocusDistance(distance);
}