update macOS
This commit is contained in:
@@ -127,17 +127,17 @@ namespace polyvox {
|
|||||||
|
|
||||||
const ResourceLoaderWrapper* const _resourceLoaderWrapper;
|
const ResourceLoaderWrapper* const _resourceLoaderWrapper;
|
||||||
|
|
||||||
Scene* _scene;
|
Scene* _scene = nullptr;
|
||||||
View* _view;
|
View* _view = nullptr;
|
||||||
Engine* _engine;
|
Engine* _engine = nullptr;
|
||||||
|
|
||||||
// a default camera that we add to every scene
|
// a default camera that we add to every scene
|
||||||
Camera* _mainCamera;
|
Camera* _mainCamera = nullptr;
|
||||||
|
|
||||||
Renderer* _renderer;
|
Renderer* _renderer = nullptr;
|
||||||
RenderTarget* _rt;
|
RenderTarget* _rt = nullptr;
|
||||||
Texture* _rtColor;
|
Texture* _rtColor = nullptr;
|
||||||
Texture* _rtDepth;
|
Texture* _rtDepth = nullptr;
|
||||||
|
|
||||||
SwapChain* _swapChain = nullptr;
|
SwapChain* _swapChain = nullptr;
|
||||||
|
|
||||||
|
|||||||
@@ -257,15 +257,17 @@ FilamentAsset* AssetManager::getAssetByEntityId(EntityId entityId) {
|
|||||||
|
|
||||||
void AssetManager::updateAnimations() {
|
void AssetManager::updateAnimations() {
|
||||||
|
|
||||||
auto now = high_resolution_clock::now();
|
|
||||||
|
|
||||||
RenderableManager &rm = _engine->getRenderableManager();
|
RenderableManager &rm = _engine->getRenderableManager();
|
||||||
|
|
||||||
for (auto& asset : _assets) {
|
for (auto& asset : _assets) {
|
||||||
|
|
||||||
|
|
||||||
std::vector<int> completed;
|
std::vector<int> completed;
|
||||||
int index = 0;
|
int index = 0;
|
||||||
for(auto& anim : asset.mAnimations) {
|
for(auto& anim : asset.mAnimations) {
|
||||||
|
|
||||||
|
auto now = high_resolution_clock::now();
|
||||||
|
|
||||||
auto elapsed = float(std::chrono::duration_cast<std::chrono::milliseconds>(now - anim.mStart).count()) / 1000.0f;
|
auto elapsed = float(std::chrono::duration_cast<std::chrono::milliseconds>(now - anim.mStart).count()) / 1000.0f;
|
||||||
|
|
||||||
|
|||||||
@@ -701,6 +701,7 @@ namespace polyvox
|
|||||||
_swapChain = nullptr;
|
_swapChain = nullptr;
|
||||||
Log("Swapchain destroyed.");
|
Log("Swapchain destroyed.");
|
||||||
}
|
}
|
||||||
|
_engine->flushAndWait();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FilamentViewer::clearAssets()
|
void FilamentViewer::clearAssets()
|
||||||
@@ -990,22 +991,22 @@ namespace polyvox
|
|||||||
cam.lookAt(eye, target, upward);
|
cam.lookAt(eye, target, upward);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO - this was an experiment but probably useful to keep for debugging
|
// // TODO - this was an experiment but probably useful to keep for debugging
|
||||||
// if pixelBuffer is provided, we will copy the framebuffer into the pixelBuffer.
|
// // if pixelBuffer is provided, we will copy the framebuffer into the pixelBuffer.
|
||||||
if (pixelBuffer)
|
// if (pixelBuffer)
|
||||||
{
|
// {
|
||||||
auto pbd = Texture::PixelBufferDescriptor(
|
// auto pbd = Texture::PixelBufferDescriptor(
|
||||||
pixelBuffer, size_t(1024 * 768 * 4),
|
// pixelBuffer, size_t(1024 * 768 * 4),
|
||||||
Texture::Format::RGBA,
|
// Texture::Format::RGBA,
|
||||||
Texture::Type::BYTE, nullptr, callback, data);
|
// Texture::Type::BYTE, nullptr, callback, data);
|
||||||
|
|
||||||
_renderer->beginFrame(_swapChain, 0);
|
// _renderer->beginFrame(_swapChain, 0);
|
||||||
_renderer->render(_view);
|
// _renderer->render(_view);
|
||||||
_renderer->readPixels(0, 0, 1024, 768, std::move(pbd));
|
// _renderer->readPixels(0, 0, 1024, 768, std::move(pbd));
|
||||||
_renderer->endFrame();
|
// _renderer->endFrame();
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
// Render the scene, unless the renderer wants to skip the frame.
|
// Render the scene, unless the renderer wants to skip the frame.
|
||||||
if (_renderer->beginFrame(_swapChain, frameTimeInNanos))
|
if (_renderer->beginFrame(_swapChain, frameTimeInNanos))
|
||||||
{
|
{
|
||||||
@@ -1014,9 +1015,10 @@ namespace polyvox
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// std::cout << "Skipped" << std::endl;
|
||||||
// skipped frame
|
// skipped frame
|
||||||
}
|
}
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
void FilamentViewer::updateViewportAndCameraProjection(
|
void FilamentViewer::updateViewportAndCameraProjection(
|
||||||
|
|||||||
@@ -77,7 +77,9 @@ public:
|
|||||||
|
|
||||||
void doRender() {
|
void doRender() {
|
||||||
render(_viewer, 0, nullptr, nullptr, nullptr);
|
render(_viewer, 0, nullptr, nullptr, nullptr);
|
||||||
_renderCallback(_renderCallbackOwner);
|
if(_renderCallback) {
|
||||||
|
_renderCallback(_renderCallbackOwner);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void setFrameIntervalInMilliseconds(float frameIntervalInMilliseconds) {
|
void setFrameIntervalInMilliseconds(float frameIntervalInMilliseconds) {
|
||||||
Reference in New Issue
Block a user