Commit Graph

1091 Commits

Author SHA1 Message Date
baldurk 9bd5fabe1a Implement axis markers and frustum helper on GL mesh view 2015-01-25 21:11:56 +00:00
baldurk 0f297734f3 Add geometry-shader calculated face normals for lit mesh view
* Also fix up the depth buffer part of output windows (since it wasn't
  used for anything else)
2015-01-25 20:30:03 +00:00
baldurk 4674b76930 Remove attributes not used in VS from GL vtx attribute list 2015-01-25 19:55:07 +00:00
baldurk 5972ffa661 Implement mesh-specific fragment shader to display secondary data 2015-01-25 19:31:47 +00:00
baldurk 8318720561 Re-implement GL RenderMesh in the new terms - much simpler!
* Still missing several features:
  - solid shading of 'secondary' data
  - highlighting of vertices/faces/supporting faces
  - helpers like axis markers or frustum
  - post VS data and re-projection
2015-01-25 19:31:13 +00:00
baldurk da2470dbcf Use correct stride value 2015-01-25 17:16:57 +00:00
baldurk 44f498de0d Fixes to ensure postvs data is available & properly used 2015-01-25 16:59:42 +00:00
baldurk 177c5cdfc1 Set default depth-stencil state for rendering checkerboard pattern 2015-01-25 16:44:25 +00:00
baldurk 22c9775008 Refactor RenderMesh() to now purely render what's specified
* So RenderMesh doesn't pick up anything implicitly from the current
  event, log, pipeline state etc - everything it needs is explicitly
  provided by the config parameters (note this might include a buffer
  generated by postvs data fetching, but the implementation now doesn't
  need to care or treat it as a special case.
2015-01-25 14:04:41 +00:00
baldurk 92e830b801 Return Post VS mesh data just with buffer ID & description
* This will allow shifting to RenderMesh being run locally just by
  the UI specifying the buffer and simple vertex specification, rather
  than by relying on any local log properties (or replaying the log).
* The reasoning behind this change is that it becomes much simpler to
  implement, rather than having to modify the draw to do what we want,
  we just do an entirely custom draw based on a few properties - similar
  to the texture rendering. This will help e.g. for writing a GL
  implementation.
* The second benefit is that we can just transfer the buffer contents
  across the network when replaying remotely, so mesh rendering can be
  implemented even for remote replay - the last unimplemented feature.
* It could also be used similar to the image viewer in future, to
  display mesh files.
2015-01-24 22:06:45 +00:00
baldurk 30516c31c6 Make sure we don't try to debug when no trace is available 2015-01-22 15:18:10 +00:00
baldurk ee5a904350 Handle arrays of samplers properly 2015-01-22 15:17:09 +00:00
baldurk bc866b9fb2 I always get markdown links the wrong way around 2015-01-20 19:54:47 +00:00
baldurk bdee4706da Move the contributing section out of COMPILE.md into CONTRIBUTING.md
* Since CONTRIBUTING.md gets auto-linked whenever opening a pull-request,
  this is more convenient for contributors.
2015-01-20 19:54:44 +00:00
baldurk 94a5b77be9 Disable GL mesh preview because it's buggy and soon to be rewritten 2015-01-20 15:14:22 +00:00
baldurk a1bc380f06 Fix missing else that caused all samplers to be skipped. Oooops. 2015-01-20 15:05:13 +00:00
baldurk 6326b3344d s/Constant Buffers/Uniforms and UBOs/ on GL pipeline view 2015-01-20 15:00:39 +00:00
baldurk 96b8818120 Give constant buffer previewer proper naming on OpenGL logs 2015-01-20 14:57:20 +00:00
baldurk 45a78df2ae Fix vertex input attribute/buffer mutual highlighting 2015-01-20 13:52:06 +00:00
baldurk 57c8aa476f Use GetRow instead of GetPositionFromControl as it's more reliable 2015-01-20 13:45:38 +00:00
baldurk 74b231a413 Make sure TES and TCS are the right way around 2015-01-20 11:51:31 +00:00
baldurk 68f8f1b6e3 Fix GL pipeline state table layouts 2015-01-20 11:39:06 +00:00
baldurk 0ee9e9be76 Re-add functions to stb_image_write to write to a FILE*. 2015-01-19 13:25:27 +00:00
baldurk 128779581f Update to stb_image_write v0.97 and stb_image v2.02 2015-01-19 13:25:24 +00:00
baldurk c071d883c7 Make sure to clamp data being saved to .hdr to non-negative 2015-01-19 11:38:35 +00:00
baldurk 5425a9d423 Allow opengl types in buffer format string parsing 2015-01-19 02:08:35 +00:00
baldurk aa81a3955c Display 'read-write' type objects grouped together in GL pipe state
* This includes atomic counters, shader storage buffer objects and images.
2015-01-19 02:04:29 +00:00
baldurk de6d93c47f Improve GL shader reflection to include Atomic bufs, SSBOs and images 2015-01-19 02:04:08 +00:00
baldurk 48f98ebdef Add shader subroutines (placeholder) and transform feedback
* The transform feedback is placed on the geometry shader tab the same as
  in D3D11. It doesn't merit its own whole tab and that seemed like the
  best place to put it (last processing stage before rasterization).
* To aid understanding, further stages are marked disabled if rasterizer
  discard is on, and if no geometry shader is bound the stage is renamed.
2015-01-18 12:06:39 +00:00
baldurk 3b2d45131b Allow renaming of a stage in the pipeline flowchart control 2015-01-18 12:05:01 +00:00
baldurk f89e5a80e2 Mkae transform feedback data public on .NET side 2015-01-18 12:04:52 +00:00
baldurk ab4f26871f Fetch transform feedback data even if default feedback object bound 2015-01-18 12:04:37 +00:00
baldurk c32e9c7c44 Stop any active feedback/queries before restoring frame initial state 2015-01-18 12:04:20 +00:00
baldurk 6107129286 Add group for multisample state on rasterizer tab 2015-01-18 11:34:26 +00:00
baldurk d344fc6c88 Add the other bits of rasterizer state to be included in the UI 2015-01-18 11:20:54 +00:00
baldurk c05272c23d Show seamless cubemap sampling state in UI 2015-01-18 10:55:09 +00:00
baldurk 0fb3c54514 Compile fixes for C# GL pipeline state struct to match real struct 2015-01-18 10:54:48 +00:00
baldurk ec1a81cf8b Save config file after adding 'recent file'
* This has been bugging me for ages, it's not a problem typically for users
  as the config would be saved on shutdown, but if you're debugging
  renderdoc and you kill the process (by stopping debugging) after loading
  a log but before closing the program, the recent file wouldn't be saved!
2015-01-18 10:54:24 +00:00
baldurk cfab18d878 Pass through image, shader storage and atomic buffer binding state 2015-01-17 22:53:07 +00:00
baldurk d80687832f Include transform feedback state in GL pipeline state 2015-01-17 21:47:06 +00:00
baldurk 11c2d4bdcc Add list of shader subroutine values 2015-01-17 21:27:45 +00:00
baldurk 82d262ad8b Pass through multisample state and point/line rast state values 2015-01-17 19:09:04 +00:00
baldurk f607f9832e Add texture seamless cubemap enabled state 2015-01-17 18:49:09 +00:00
baldurk 8b91c8540b Pass through Read FBO, and handle Draw/Read Buffers indirection 2015-01-17 18:49:08 +00:00
baldurk e84a79dc17 Add some default constructors 2015-01-17 18:49:08 +00:00
baldurk 91d26c6a75 Pass through some vertex processing state & opengl quality hints 2015-01-17 18:49:08 +00:00
baldurk 24fd91a7e0 Display texture swizzling and depth/stencil read mode on textures 2015-01-17 15:53:09 +00:00
baldurk ce7c8eb44f Don't fetch sampling parameters for texture buffers (invalid) 2015-01-17 15:49:03 +00:00
baldurk 25ab5520c5 Fixes for GL image texture render state
* When binding an empty texture, sanitise the parameters so we don't
  pass invalid enums for access/format.
* When fetching, actually use the indexed Get functions to get the right
  slot. Ooops :S.
2015-01-17 15:42:50 +00:00
baldurk 7e10c5c4ea Pass through ShaderResourceType per-texture for better type naming 2015-01-17 15:03:34 +00:00