Cxbx-reloaded: XDK sample issues

Created on 7 May 2018  路  7Comments  路  Source: Cxbx-Reloaded/Cxbx-Reloaded

Here a list of known issues for XDK samples.

For each issue we fix, titles might improve too, so it's important to get these working correctly.
(Note : the below results are tested against https://github.com/PatrickvL/Cxbx-Reloaded/commits/DrawingPrimitives but unless otherwise noted, are equally problematic in master too)

  • BeginPush : Only DrawPrimitiveUP-mode is fast and shows correctly faded dot-streaks. BeginPush-mode is much slower, and Begin-mode even moreso. Both show swizzled dots. Help screen lacks gamepad texture.
  • Benchmark : Nearly perfect - only adding lights (with black button) doesn't seem to work
  • BumpDemo : Full effect doesn't work, cogs stay black (probably a render-state-related issue, Dxbx could draw this correctly)
  • Billboard : Perfect. (Only Debug builds are very slow - roughly 1 FPS.)
  • CompressedVertices : Teapot doesn't show because a vertex shader compilation fails, due to it's use of register v9 which isn't present in the vertex declaration (fixed recently)
  • CubeMap : Teapot stays black and doesn't reflect, due to SetRenderTarget not targetting the correct surfaces (the six sides of the cube texture), mainly because cube-textures don't work well either (fixed recently)
  • DisplacementMap : Displacement effect doesn't draw (needs more investigation)
  • Explosion : When "rendering with z-sprites", the explosions are all behind the landscape, also this mode is slower than "rendering with billboards" which shows correct z-ordering (needs more investigation)
  • FocusBlur : Many of the pixel shader effects don't seem to work correctly (possibly pixel-shader related)

    • ModifyPixelShader : None of the pixel shader alteration-options seem to work (no discernable effect)

    • MotionBlur : Blurring doesn't work - screen is very dark. Disabling the blur effect results in seemingly normal drawing

  • NoSortAlphaBlend : Effect doesn't seem to work correctly
  • Patch : Object isn't visible (only background, labels and menu)
  • PixelShader : A few changes to the active pixel shaders don't seem to have effect
  • PointSprites : Nearly perfect - only the help screen gamepad texture doesn't show
  • PolynormalTextureMaps : Beautifull effect, but possibly incorrectly drawn
  • PushBuffer : No visible effect, only background and labels
  • Tiling : Actual tiling isn't implemented, but the effects work. Help image isn't visible, and screen turns black (never returns) when pressing the White button.

TODO: Add more

HLE graphics

Most helpful comment

Help screen is drawn using a quallist primitive. My DrawingPrimitives branch draws these correctly - we're striving to iron out a few regressions in that branch so everyone can benefit

All 7 comments

These are some of my results which were tested in master:


  • Dolphin: Sea floor is missing the water caustic effects, and the floor itself is much darker than it should be.
  • BumpDemo: Completely black cogs in "full effect" mode, likely due to missing/incomplete bump mapping implementations? (Note: in the old LessVertexPatching branch there was a time when it rendered the full bump mapping effect just fine)
  • Lensflare: There's a flare in the center of the sun which doesn't draw at all (the rest of the flares draw fine), and no beams of light shine between the leaves and branches of trees when the camera is behind them.
  • MatrixPaletteSkinning: Toggling bump mapping causes the screen to go completely white (text and 2D graphics are unaffected)

EDIT: Some more:

  • TechCertGame: If vibration is enabled in options, the sample will throw an exception if you try to start a game. If it's turned off, however, the sample will run as normal. This applies even if an XInput controller with vibration is used. https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/issues/1160~~
  • ShadowBuffer: No shadows are rendered. A small, black rectangle is also slightly covering the right hand side of the screen that shouldn't be there.
  • PerPixelLighting/PerPixelLightingVS: The lighting on the sphere is slightly broken and oddly-shaped (a picture for reference since I can't explain it very well: https://i.imgur.com/cB7Ne36.png)
  • Fur: Instantly crashes at generating hair. Likely shader-related.
  • All XDK Samples: The help screen draws only half of the opaque background, and the controller graphic is cut off half-way as well. edit : recently fixed

The vibration issue is interesting. What exception does it raise? @Voxel9

Fur crashes because our support of volume textures is near-non-existing and buggy

Help screen is drawn using a quallist primitive. My DrawingPrimitives branch draws these correctly - we're striving to iron out a few regressions in that branch so everyone can benefit

@x1nixmzeng It basically just raises this exception:

Cxbx-Reloaded
---------------------------
Received Exception Code 0xC0000005 @ EIP := 0x547B18AA

  Press "OK" to terminate emulation.
  Press "Cancel" to debug.
---------------------------
OK   Cancel   
---------------------------

KrnlDebug generated from the debug build of cxbx-r for reference: KrnlDebug.txt

BumpDemo full effect works

This issue needs updating since a lot has improved since we've last looked at this.
However, a few notable regressions are worth investigating, as these may improve games as well :

  • DisplacementMap : full effect still not working
  • FocusBlur : black screen, except when entire blur effect is disabled
  • Trees : only one tree is rendered, others only show a trunk, and the ground shows black spots
  • TrueTypeFont : texts rendered in various fonts isn't visible
  • Patch : Failed to create vertex declaration (due to a tesselation token)
Was this page helpful?
0 / 5 - 0 ratings

Related issues

PatrickvL picture PatrickvL  路  4Comments

LukeUsher picture LukeUsher  路  4Comments

PatrickvL picture PatrickvL  路  3Comments

chrisderwahre picture chrisderwahre  路  4Comments

childishbeat picture childishbeat  路  4Comments