You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Fixed potential render scene time precision issues.
The timestamp was simply converted from GetTimeAtCurrentTick to a float. Since this value is backed by QueryPerformanceCounter which is 0 at boot, you could see broken animations on the GPU when your system has been on for a long time. So I simplified the RPI's time API (removed unused code), and subtracted the application start time each frame before converting the time value to a float.
Also moved FindShaderInputConstantIndex("m_time") to be called only once, instead of every frame.
Testing:
Originally: I had a local material shader that did vertex animation and it wasn't working at all before, and now it works.
More recently, I made local changes to StandardPBR to add a simple sin wave animation. I also modified GetTimeNowMicroSecond() to artificially add 30 days to the clock. This showed choppy animation before my changes, and smooth animation after.
AtomSampleViewer passed dx12 and vulkan (other than pre-existing issues)
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
|
4 years ago | |
|---|---|---|
| .. | ||
| Buffer | 4 years ago | |
| ColorManagement | 4 years ago | |
| DynamicDraw | 4 years ago | |
| GpuQuery | 4 years ago | |
| Image | 4 years ago | |
| Material | 4 years ago | |
| Model | 4 years ago | |
| Pass | 4 years ago | |
| Shader | 4 years ago | |
| AuxGeomFeatureProcessorInterface.cpp | 4 years ago | |
| Culling.cpp | 4 years ago | |
| FeatureProcessor.cpp | 4 years ago | |
| FeatureProcessorFactory.cpp | 4 years ago | |
| MeshDrawPacket.cpp | 4 years ago | |
| PipelineState.cpp | 4 years ago | |
| RPISystem.cpp | 4 years ago | |
| RPIUtils.cpp | 4 years ago | |
| RenderPipeline.cpp | 4 years ago | |
| Scene.cpp | 4 years ago | |
| View.cpp | 4 years ago | |
| ViewportContext.cpp | 4 years ago | |
| ViewportContextManager.cpp | 4 years ago | |
| WindowContext.cpp | 4 years ago | |