Commit Graph

36 Commits

Author SHA1 Message Date
baldurk 45eabffb54 Update mesh viewer to allow better customisation. Closes #1811 2025-12-08 18:24:19 +00:00
baldurk 54df5d5ca7 Tweak rendering of slider controls in RDStyle 2023-12-11 11:56:27 +00:00
Dan Hawson 442b48bb77 Mesh exploder
New 'Exploded' visualisation mode in BufferViewer with new exploder controls
hidden when not in 'Exploded' mode.

Change 'solidShading' and 'solidShadeMode' to 'visualisation' and
'visualisationMode'.

Hide the 'highlightVerts' widget when using 'Exploded' vis for both
real-estate and practical implementation reasons.
2023-12-09 11:40:30 +00:00
baldurk be372cde46 Improve mesh viewer UI for task/mesh shaders range filtering 2023-11-28 16:19:05 +00:00
baldurk 07b1c3f857 Add options to filter and correlate between task and mesh invocations 2023-11-17 00:47:55 +00:00
baldurk 1df7c1ae81 Implement mesh viewer support for task/mesh shaders 2023-11-17 00:47:55 +00:00
baldurk 4bb54d00dd Show visible offsets and (optionally) padding in buffers. Closes #1664 2022-05-20 14:15:30 +01:00
baldurk 43fa3cd94b Use BufferViewer for viewing constant buffers
* Unifying these views means that constant buffers have all the same
  reformatting and it avoids having multiple paths for what is now effectively
  the same control (a buffer can either have fixed data, repeating data, or
  both)
2022-05-20 14:15:30 +01:00
baldurk a36516c8a5 Explicitly handle unbounded arrays and display declared fixed vars
* GL and Vulkan allow buffers to have fixed variables before a trailing AoS
  unbounded array. These fixed variables can't be easily displayed in a table
  and previously we skipped them. Now we display these in a tree format.
* We also support formats which don't have an unbounded array at all and display
  these just with the tree. This will allow the BufferViewer to subsume the
  capabilities of the ConstantBufferPreviewer (though it needs to handle opaque
  non-buffer-backed variables, and slot-following).
2022-05-20 13:37:26 +01:00
baldurk a16e1e7995 Add a python script to sort .ui files so grid layouts are in order
* This will help in future to keep diffs more readable
2022-01-10 17:30:57 +00:00
baldurk 1c3f30d90d Resave all UI files with Qt Creator 5.15
* This gets rid of anything that might be changed with the latest version when
  updating these files
2022-01-10 16:57:43 +00:00
John Kattukudiyil a2978dc33d readded custom axis mapping button and updated documentation 2021-11-08 11:39:28 +00:00
John Kattukudiyil 5ed073f395 address PR feedback
- create AxisMapping struct and fix camera location issue
- add more detail to axis mapping error message
- fix other minor issues
2021-11-08 11:39:28 +00:00
Orson Baines 35f4fad20e Issue 2322: Configure mesh coordinate system
- Add a new combo box and button to camera settings for mesh viewer
- Add a new dialog window for custom axis mappings
- Implement the axis mappings in gl driver (other drivers to come)
2021-11-08 11:39:28 +00:00
baldurk e5e9a9c94b Use QDoubleSpinBox for partial 64-bit int support. Closes #1952
* Actually creating a 64-bit spinbox is not feasible without constructing it
  almost from scratch due to how much QAbstractSpinBox depends on private
  internals that can't be overridden. Instead use a QDoubleSpinBox with no
  decimals since we don't need the full 64-bit range, and the mantissa of a
  double is enough.
2020-06-30 12:34:52 +01:00
baldurk 24e4f4179f Fix projection guessing controls sometimes being enabled when unused 2019-12-13 16:36:44 +00:00
baldurk 69e4be52cf Display bounding box data in mesh view camera panel
* This isn't the best place for it but it makes the most sense for now.
2019-05-22 13:57:23 +01:00
Wade Brainerd 88cb468350 Fix minor omission in tooltip messages 2019-04-19 01:49:25 -07:00
Wade Brainerd cc0069e72f Fix Vulkan mesh output for tessellated quads
When selecting a draw with a tessellation evaluation shader using
layout(quads), RenderDoc would emit an "Unexpected output topology"
error.

Additional changes:

* Fixes a typo in the VK_EXT_transform_feedback name in various debug
  prints.

* Renames the "GS Out" 3D View tab in the Mesh Viewer to "GS/DS Out",
  to match the corresponding table. This affects all APIs.
2019-03-27 04:31:34 -07:00
baldurk 94dfb9890b Allow registering window, panel and context menu items with callbacks 2018-10-23 14:23:12 +01:00
baldurk 53364adeef Support mesh output from different view indices on vulkan
* When using VK_KHR_multiview you can select which view to view the mesh data from.
2018-06-19 20:48:30 +01:00
baldurk 25de6726f6 Add some cross-linking for panels that view a single resource
* We add a button with a link icon to indicate that it goes to the
  resource details. We'll re-use the crosshair as a visual metaphor for
  any interactive widget that goes to the resource inspector.
* To remove any possible confusion, we change the icon for the texture
  list and locked tabs in the texture viewer to not include the link.
2017-11-17 16:30:54 +00:00
baldurk 805f01244c Remove size policy causing problems on buffer view's format specifier 2017-11-10 18:36:06 +00:00
baldurk 241b8f4404 Clarify the draw range options (this inst vs. all inst vs. whole pass) 2017-11-10 12:10:02 +00:00
baldurk d57cc1b188 Add more consistency to docking panels and widgets
* Dock panels shouldn't have any frame border or anything like that.
* They should have an external margin of 3 pixels at their border,
  but then no further margins on the layouts (like sub-controls for
  the pipeline state views.
* Toolbars should be Raised & Panel frames. Later we'll replace them
  with actual QToolBars to better customise the painting.
2017-07-28 19:06:46 +01:00
baldurk a8a7e32cc0 Set reasonable bounds and steps for projection matrix guess controls 2017-05-19 14:41:42 +01:00
baldurk 6941444796 Add byte range offset/length controls to raw buffer viewer. Refs #224 2017-05-10 17:20:37 +01:00
Dimitris Kapnopoulos 6e06eb5164 Added tooltips for all QToolButtons. RDSplitter checks for valid index.
handleDoubleClicked in RDSplitter checks if the index argument is less than zero or bigger than count
2017-03-28 02:54:15 -07:00
baldurk c5adc7a4ed Use relative paths for 3rdparty headers, don't add to search paths
* Unfortunately scintilla assumes its headers are all in the search path
  so where possible we only add those folders when compiling scintilla
  source, not our own.
2017-02-09 19:28:22 +00:00
baldurk 9e47ed53b5 Move resources.qrc into Resources/ folder 2017-02-09 19:28:22 +00:00
baldurk 9690db525b Add support for raw buffer views (not mesh output) 2017-01-26 23:31:58 +00:00
baldurk a4acd3cb31 Hook up most of the small UI items and buttons in the buffer viewer 2017-01-26 23:31:57 +00:00
baldurk 19034c0d93 Don't use resizeColumnsToContents on full data, add column per component 2017-01-26 23:31:57 +00:00
baldurk e6295fa309 Stub out BufferViewer UI controls, and make camera control properly 2017-01-25 20:13:40 +00:00
baldurk d3dedbef5a Update mesh viewer to display the preview with basic controls + VS Out 2016-11-28 17:49:29 +01:00
baldurk 4ce3c31fef Add un-finished work in progress mesh buffer viewer 2016-11-25 17:05:58 +01:00