mirror of
https://github.com/djhackersdev/bemanitools.git
synced 2026-07-01 03:31:06 -05:00
feat(doc/journal): Add dev notes about iidx HD era upscaling feature
This commit is contained in:
parent
9c9e554234
commit
bf83bd89e5
57
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling.md
Normal file
57
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling.md
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
# IIDX 24 GFX upscaling notes
|
||||
|
||||
Date: 2023-04-15
|
||||
Author: icex2
|
||||
|
||||
Notes about my work on fixing the upscaling/downscaling feature of bemanitools for IIDX 20 to 26.
|
||||
I realized that the render backend changed significantly that the old method that worked fine
|
||||
doesn't work anymore.
|
||||
|
||||
The tool used in the screenshots is [apitrace](https://github.com/apitrace/apitrace).
|
||||
|
||||
## IIDX 24
|
||||
|
||||
The GFX engine in IIDX from 20 to 26 has a changed render loop that includes built-in scaling to
|
||||
implement the SD and HD/HD* screen settings that are selectable in the operator menu
|
||||
|
||||
### Frame 0 - GFX init part
|
||||
|
||||
Setting up the context and device, as well as the frame buffer. This also creates the intermediate
|
||||
texture that is configured as the render target once it begins drawing the scene.
|
||||
|
||||

|
||||
|
||||
### Frame 1 - A clean main render path
|
||||
|
||||
Start the scene and set the render target to the intermediate texture.
|
||||
|
||||

|
||||
|
||||
After done drawing the scene, the intermediate texture is blended to the framebuffer. With a target
|
||||
2D plane having the size of the target resolution, the blending applies linear scaling to either
|
||||
up- or downscale the final image.
|
||||
|
||||

|
||||
|
||||
## IIDX 10
|
||||
|
||||
A recap of the old stuff, see also [my previous notes](2019-10-07-iidx-gfx-rendering-loops.md),
|
||||
as I had to look at everything again to properly understand the differences.
|
||||
|
||||
### Frame 0 - GFX init part
|
||||
|
||||
Setting up the context and device, as well as the frame buffer. Renders directly to the frame
|
||||
buffer.
|
||||
|
||||

|
||||
|
||||
### Frame 1 - A clean main render path
|
||||
|
||||
Beginning the scene excerpt. The viewport needs to match the target resolution to display the
|
||||
final image correctly.
|
||||
|
||||

|
||||
|
||||
Ending the scene excerpt, nothing fancy here, just swapping the back buffer.
|
||||
|
||||

|
||||
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/beginscene.png
Normal file
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/beginscene.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 52 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 122 KiB |
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/endscene10.png
Normal file
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/endscene10.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 69 KiB |
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/init.png
Normal file
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/init.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 127 KiB |
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/init10.png
Normal file
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/init10.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 641 KiB |
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/scaling.png
Normal file
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/scaling.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 312 KiB |
Loading…
Reference in New Issue
Block a user