global update
This commit is contained in:
@@ -85,9 +85,9 @@ void CFunnyGameBridge::Init()
|
||||
g_pKotUI->ConnectInterface(g_pRenderContext, RENDER_CONTEXT_INTERFACE_VERSION);
|
||||
g_pKotUI->Init();
|
||||
|
||||
g_pXRManager->ConnectInterface(g_pRenderContext, RENDER_CONTEXT_INTERFACE_VERSION);
|
||||
g_pXRManager->Init();
|
||||
g_pRenderContext->ConnectInterface(g_pXRManager, XR_INTERFACE_VERSION);
|
||||
//g_pXRManager->ConnectInterface(g_pRenderContext, RENDER_CONTEXT_INTERFACE_VERSION);
|
||||
//g_pXRManager->Init();
|
||||
//g_pRenderContext->ConnectInterface(g_pXRManager, XR_INTERFACE_VERSION);
|
||||
|
||||
|
||||
g_pWorldRenderer->Init();
|
||||
@@ -96,6 +96,7 @@ void CFunnyGameBridge::Init()
|
||||
m_pMainViewport->SetPosition({0,0,0});
|
||||
m_pMainViewport->SetRotation({0,0,0,1});
|
||||
|
||||
/*
|
||||
IXRHeadset *pHeadSet = g_pXRManager->GetHeadset(0);
|
||||
if (pHeadSet)
|
||||
{
|
||||
@@ -116,8 +117,8 @@ void CFunnyGameBridge::Init()
|
||||
{
|
||||
pHeadSet->GetController(i)->SetInputCallback(XRInputCallback);
|
||||
V_printf("callback set on %p\n", pHeadSet->GetController(i));
|
||||
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
void CFunnyGameBridge::Tick( float fDelta )
|
||||
@@ -168,7 +169,7 @@ void CFunnyGameBridge::Frame( float fDelta )
|
||||
TryToConnectToServer();
|
||||
|
||||
|
||||
g_pXRManager->Frame();
|
||||
//g_pXRManager->Frame();
|
||||
|
||||
INetworkBase *pCurrentServer = g_pServerBridge;
|
||||
pCurrentServer = g_pServerBridge;
|
||||
|
||||
@@ -49,11 +49,17 @@ void CFunnyViewport::UpdateResolution( uint32_t uX, uint32_t uY )
|
||||
g_pRenderContext->DestroyImage(m_pRenderImage);
|
||||
}
|
||||
m_pColor = g_pRenderContext->CreateRenderTarget(uX, uY, IMAGE_FORMAT_RGBA8_UNORM, MULTISAMPLE_TYPE_4_SAMPLES);
|
||||
m_pColor->SetDebugName("m_pColor");
|
||||
m_pNormal = g_pRenderContext->CreateRenderTarget(uX, uY, IMAGE_FORMAT_RGBA16_SNORM, MULTISAMPLE_TYPE_4_SAMPLES);
|
||||
m_pNormal->SetDebugName("m_pNormal");
|
||||
m_pWorldCoords = g_pRenderContext->CreateRenderTarget(uX, uY, IMAGE_FORMAT_RGBA32_SFLOAT, MULTISAMPLE_TYPE_4_SAMPLES);
|
||||
m_pWorldCoords->SetDebugName("m_pWorldCoords");
|
||||
m_pDepth = g_pRenderContext->CreateRenderTarget(uX, uY, IMAGE_FORMAT_D32_SFLOAT, MULTISAMPLE_TYPE_4_SAMPLES);
|
||||
m_pDepth->SetDebugName("m_pDepth");
|
||||
m_pColorResolved = g_pRenderContext->CreateRenderTarget(uX, uY, IMAGE_FORMAT_RGBA8_UNORM, MULTISAMPLE_TYPE_1_SAMPLES);
|
||||
m_pColorResolved->SetDebugName("m_pColorResolved");
|
||||
m_pRenderImage = g_pRenderContext->CreateStorageImage(uX, uY, IMAGE_FORMAT_RGBA16_SFLOAT, MULTISAMPLE_TYPE_1_SAMPLES);
|
||||
m_pRenderImage->SetDebugName("m_pRenderImage");
|
||||
m_uX = uX;
|
||||
m_uY = uY;
|
||||
}
|
||||
@@ -319,6 +325,26 @@ void CFunnyWorldRenderer::Frame( float fDelta )
|
||||
m_pViewBuffer->Unmap();
|
||||
|
||||
m_pRasterCommandList->StartRecording();
|
||||
m_pRasterCommandList->BarrierTransition(
|
||||
v->m_pColor,
|
||||
IMAGE_LAYOUT_UNDEFINED, IMAGE_LAYOUT_COLOR,
|
||||
STAGE_HAZARD_NONE, STAGE_HAZARD_RASTER_COLOR_OUT,
|
||||
BARRIER_HAZARD_RASTER_COLOR);
|
||||
m_pRasterCommandList->BarrierTransition(
|
||||
v->m_pNormal,
|
||||
IMAGE_LAYOUT_UNDEFINED, IMAGE_LAYOUT_COLOR,
|
||||
STAGE_HAZARD_NONE, STAGE_HAZARD_RASTER_COLOR_OUT,
|
||||
BARRIER_HAZARD_RASTER_COLOR);
|
||||
m_pRasterCommandList->BarrierTransition(
|
||||
v->m_pWorldCoords,
|
||||
IMAGE_LAYOUT_UNDEFINED, IMAGE_LAYOUT_COLOR,
|
||||
STAGE_HAZARD_NONE, STAGE_HAZARD_RASTER_COLOR_OUT,
|
||||
BARRIER_HAZARD_RASTER_COLOR);
|
||||
m_pRasterCommandList->BarrierTransition(
|
||||
v->m_pDepth,
|
||||
IMAGE_LAYOUT_UNDEFINED, IMAGE_LAYOUT_DEPTH_STENCIL,
|
||||
STAGE_HAZARD_NONE, STAGE_HAZARD_RASTER_EARLY_DEPTH_OUT,
|
||||
BARRIER_HAZARD_DEPTH_STENCIL);
|
||||
m_pRasterCommandList->SetRenderResolution(uWidth, uHeight);
|
||||
m_pRasterCommandList->SetRenderTarget(0, v->m_pColor);
|
||||
m_pRasterCommandList->SetRenderTarget(1, v->m_pNormal);
|
||||
@@ -373,15 +399,35 @@ void CFunnyWorldRenderer::Frame( float fDelta )
|
||||
m_pRasterCommandList->DrawPrimitives(mesh->m_pVertexBuffer->GetSize()/32, 0, mesh->m_instances.GetSize(), u);
|
||||
u += mesh->m_instances.GetSize();
|
||||
}
|
||||
m_pRasterCommandList->Barrier(STAGE_HAZARD_RASTER_COLOR_OUT, STAGE_HAZARD_NONE, 0);
|
||||
m_pRasterCommandList->BarrierTransition(
|
||||
v->m_pColor,
|
||||
IMAGE_LAYOUT_COLOR, IMAGE_LAYOUT_TRANSFER_SRC,
|
||||
STAGE_HAZARD_RASTER_COLOR_OUT, STAGE_HAZARD_TRANSFER,
|
||||
0);
|
||||
m_pRasterCommandList->BarrierTransition(
|
||||
v->m_pColorResolved,
|
||||
IMAGE_LAYOUT_UNDEFINED, IMAGE_LAYOUT_TRANSFER_DST,
|
||||
STAGE_HAZARD_NONE, STAGE_HAZARD_TRANSFER,
|
||||
0);
|
||||
|
||||
m_pRasterCommandList->ResolveImage(v->m_pColor, v->m_pColorResolved);
|
||||
m_pRasterCommandList->BarrierTransition(
|
||||
v->m_pColorResolved,
|
||||
IMAGE_LAYOUT_TRANSFER_DST, IMAGE_LAYOUT_GENERAL,
|
||||
STAGE_HAZARD_TRANSFER, STAGE_HAZARD_COMPUTE,
|
||||
0);
|
||||
m_pRasterCommandList->BarrierTransition(
|
||||
v->m_pRenderImage,
|
||||
IMAGE_LAYOUT_UNDEFINED, IMAGE_LAYOUT_GENERAL,
|
||||
STAGE_HAZARD_NONE, STAGE_HAZARD_COMPUTE,
|
||||
0);
|
||||
|
||||
m_pPostProcessingMaterial->CSSetTexture(0, 0, v->m_pColorResolved);
|
||||
m_pPostProcessingMaterial->CSSetTexture(1, 0, v->m_pRenderImage);
|
||||
m_pRasterCommandList->SetMaterial(m_pPostProcessingMaterial);
|
||||
m_pRasterCommandList->Barrier(v->m_pColorResolved, true, false);
|
||||
m_pRasterCommandList->Barrier(v->m_pRenderImage, false, true);
|
||||
m_pRasterCommandList->DispatchCompute(uWidth, uHeight, 1);
|
||||
m_pRasterCommandList->Barrier(STAGE_HAZARD_COMPUTE, STAGE_HAZARD_NONE, 0);
|
||||
m_pRasterCommandList->EndRecording();
|
||||
|
||||
g_pRenderContext->SubmitCommandList(m_pRasterCommandList);
|
||||
|
||||
Reference in New Issue
Block a user