mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-04 09:00:44 +00:00
Set external links to open with target="_blank" for benefit of chm
* Without this, the chm viewer attempts to open the external link in its own windows. With some ancient IE6 monstrosity. Ouch.
This commit is contained in:
@@ -3,7 +3,11 @@ OpenGL Support
|
||||
|
||||
This page documents the support of OpenGL in RenderDoc. This gives an overview of what RenderDoc is capable of, and primarily lists information that is relevant. You might also be interested in the :doc:`full list of features <../getting_started/features>`.
|
||||
|
||||
The latest information and up-to-date support is always available on the `GitHub wiki <https://github.com/baldurk/renderdoc/wiki/OpenGL>`_.
|
||||
.. |github_opengl_link| raw:: html
|
||||
|
||||
<a href="https://github.com/baldurk/renderdoc/wiki/OpenGL" target="_blank">GitHub wiki</a>
|
||||
|
||||
The latest information and up-to-date support is always available on the |github_opengl_link|.
|
||||
|
||||
OpenGL requirements, and limitations
|
||||
------------------------------------
|
||||
|
||||
@@ -3,7 +3,11 @@ Planned future features
|
||||
|
||||
This is a list of all features that are planned to be added at some point. Probably none of them have timelines or estimates yet, and they are in no particular order. I just would like to add them eventually. It's mostly here for interest, and for reference if you have a new feature request - it might be on here already!
|
||||
|
||||
For more detail and a more up to date list, check the `GitHub wiki <https://github.com/baldurk/renderdoc/wiki/Roadmap>`__.
|
||||
.. |github_roadmap_link| raw:: html
|
||||
|
||||
<a href="https://github.com/baldurk/renderdoc/wiki/Roadmap" target="_blank">GitHub wiki</a>
|
||||
|
||||
For more detail and a more up to date list, check the |github_roadmap_link|.
|
||||
|
||||
Also note that none of these features are guaranteed. In an ideal world they would all happen but since work hasn't started on any of them some may turn out to be impractical or delayed indefinitely.
|
||||
|
||||
|
||||
@@ -3,8 +3,11 @@ Vulkan Support
|
||||
|
||||
This page documents the support of Vulkan in RenderDoc. This gives an overview of what RenderDoc is capable of, and primarily lists information that is relevant. You might also be interested in the :doc:`full list of features <../getting_started/features>`.
|
||||
|
||||
.. |github_vulkan_link| raw:: html
|
||||
|
||||
The latest information and up-to-date support is always available on the `GitHub wiki <https://github.com/baldurk/renderdoc/wiki/Vulkan>`_.
|
||||
<a href="https://github.com/baldurk/renderdoc/wiki/Vulkan" target="_blank">GitHub wiki</a>
|
||||
|
||||
The latest information and up-to-date support is always available on the |github_vulkan_link|.
|
||||
|
||||
Vulkan capture
|
||||
--------------
|
||||
|
||||
@@ -8,22 +8,86 @@ RenderDoc wouldn't have been possible without both the tools and libraries that
|
||||
|
||||
The following libraries and components are incorporated into RenderDoc, listed here in no particular order. Thanks go out to the developers and contributors behind each of these libraries who generously donated their work to other free projects!
|
||||
|
||||
* `mhook <http://codefromthe70s.org/mhook23.aspx>`_: DLL hooking library, used to inject RenderDoc into applications
|
||||
* `TreeView with Columns <http://www.codeproject.com/Articles/23746/TreeView-with-Columns>`_: An invaluable control filling a much needed niche in .NET winforms.
|
||||
* `Dock Panel Suite <http://dockpanelsuite.com/>`_: A mature and stable library that adds the docking and flexibility of RenderDoc's UI.
|
||||
* `famfamfam Silk Icon set <http://www.famfamfam.com/lab/icons/silk/>`_: Lending an air of professionalism and artistic quality to the UI, the Silk icon set is used throughout RenderDoc.
|
||||
* `ScintillaNET <http://scintillanet.codeplex.com/>`_ and by extension Scintilla provide a powerful text editor for the shader viewers
|
||||
* `Google Breakpad <https://code.google.com/p/google-breakpad/>`_ provides a rock-solid crash handling and reporting base that help keep RenderDoc stable
|
||||
* `miniz <https://code.google.com/p/miniz/>`_: Public domain zip library is used to compress the crash reports for sending.
|
||||
* `ILM's half implementation <https://github.com/openexr/openexr/tree/master/IlmBase/Half>`_: Used for decoding half data for display.
|
||||
* `jpeg-compressor <https://code.google.com/p/jpeg-compressor/>`_: Used to compress screenshots into jpg format for thumbnail previews.
|
||||
* `lz4 <https://code.google.com/p/lz4/>`_: compresses large data transfers (textures and buffers) when going across network connections.
|
||||
* `stb <https://github.com/nothings/stb>`_: Used to read and write various image formats.
|
||||
* `Source Code Pro <https://github.com/adobe-fonts/source-code-pro>`_: Font used for the in-program overlay.
|
||||
* `IronPython <http://ironpython.net/>`_: Used for the Python shell/integration in the UI.
|
||||
* `tinyexr <https://github.com/syoyo/tinyexr>`_: Used for the OpenEXR file loading and saving.
|
||||
* `glslang <https://github.com/KhronosGroup/glslang>`_: Used for compiling GLSL to SPIR-V.
|
||||
* `Qt <http://www.qt.io/>`_: Used for QRenderDoc replay UI program.
|
||||
.. |mhook_link| raw:: html
|
||||
|
||||
<a href="http://codefromthe70s.org/mhook23.aspx" target="_blank">mhook</a>
|
||||
|
||||
.. |treeview_link| raw:: html
|
||||
|
||||
<a href="http://www.codeproject.com/Articles/23746/TreeView-with-Columns" target="_blank">TreeView with Columns</a>
|
||||
|
||||
.. |dockpanel_link| raw:: html
|
||||
|
||||
<a href="http://dockpanelsuite.com/" target="_blank">TreeView with Columns</a>
|
||||
|
||||
.. |famfamfam_link| raw:: html
|
||||
|
||||
<a href="http://www.famfamfam.com/lab/icons/silk/" target="_blank">famfamfam Silk Icon set</a>
|
||||
|
||||
.. |scintilla_link| raw:: html
|
||||
|
||||
<a href="http://scintillanet.codeplex.com/" target="_blank">Scintilla.NET</a>
|
||||
|
||||
.. |breakpad_link| raw:: html
|
||||
|
||||
<a href="https://code.google.com/p/google-breakpad/" target="_blank">Google Breakpad</a>
|
||||
|
||||
.. |miniz_link| raw:: html
|
||||
|
||||
<a href="https://code.google.com/p/miniz/" target="_blank">miniz</a>
|
||||
|
||||
.. |ilm_link| raw:: html
|
||||
|
||||
<a href="https://github.com/openexr/openexr/tree/master/IlmBase/Half" target="_blank">ILM's half implementation</a>
|
||||
|
||||
.. |jpeg_link| raw:: html
|
||||
|
||||
<a href="https://code.google.com/p/jpeg-compressor/" target="_blank">jpeg-compressor</a>
|
||||
|
||||
.. |lz4_link| raw:: html
|
||||
|
||||
<a href="https://code.google.com/p/lz4/" target="_blank">lz4</a>
|
||||
|
||||
.. |stb_link| raw:: html
|
||||
|
||||
<a href="https://github.com/nothings/stb" target="_blank">stb</a>
|
||||
|
||||
.. |sourcecodepro_link| raw:: html
|
||||
|
||||
<a href="https://github.com/adobe-fonts/source-code-pro" target="_blank">Source Code Pro</a>
|
||||
|
||||
.. |ironpython_link| raw:: html
|
||||
|
||||
<a href="http://ironpython.net/" target="_blank">IronPython</a>
|
||||
|
||||
.. |tinyexr_link| raw:: html
|
||||
|
||||
<a href="https://github.com/syoyo/tinyexr" target="_blank">tinyexr</a>
|
||||
|
||||
.. |glslang_link| raw:: html
|
||||
|
||||
<a href="https://github.com/KhronosGroup/glslang" target="_blank">glslang</a>
|
||||
|
||||
.. |qt_link| raw:: html
|
||||
|
||||
<a href="http://www.qt.io/" target="_blank">Qt</a>
|
||||
|
||||
* |mhook_link| DLL hooking library, used to inject RenderDoc into applications
|
||||
* |treeview_link| An invaluable control filling a much needed niche in .NET winforms.
|
||||
* |dockpanel_link| A mature and stable library that adds the docking and flexibility of RenderDoc's UI.
|
||||
* |famfamfam_link| Lending an air of professionalism and artistic quality to the UI, the Silk icon set is used throughout RenderDoc.
|
||||
* |scintilla_link| and by extension Scintilla provide a powerful text editor for the shader viewers.
|
||||
* |breakpad_link| provides a rock-solid crash handling and reporting base that help keep RenderDoc stable.
|
||||
* |miniz_link| Public domain zip library is used to compress the crash reports for sending.
|
||||
* |ilm_link| Used for decoding half data for display.
|
||||
* |jpeg_link| Used to compress screenshots into jpg format for thumbnail previews.
|
||||
* |lz4_link| compresses large data transfers (textures and buffers) when going across network connections.
|
||||
* |stb_link| Used to read and write various image formats.
|
||||
* |sourcecodepro_link| Font used for the in-program overlay.
|
||||
* |ironpython_link| Used for the Python shell/integration in the UI.
|
||||
* |tinyexr_link| Used for the OpenEXR file loading and saving.
|
||||
* |glslang_link| Used for compiling GLSL to SPIR-V.
|
||||
* |qt_link| Used for QRenderDoc replay UI program.
|
||||
|
||||
Thanks
|
||||
------
|
||||
|
||||
@@ -27,7 +27,11 @@ All of the good names were taken :-(.
|
||||
Who can I contact about bugs, feature requests, other queries?
|
||||
--------------------------------------------------------------
|
||||
|
||||
At the moment there's just me at the wheel - feel free to `contact me <mailto:baldurk@baldurk.org?subject=RenderDoc%20feedback>`__ if you have anything you'd like to ask or suggest. I use a `github repository <https://github.com/baldurk/renderdoc>`__ for tracking bugs and feature requests so that's the best place to file an issue.
|
||||
.. |github_link| raw:: html
|
||||
|
||||
<a href="https://github.com/baldurk/renderdoc" target="_blank">github repository</a>
|
||||
|
||||
At the moment there's just me at the wheel - feel free to `contact me <mailto:baldurk@baldurk.org?subject=RenderDoc%20feedback>`__ if you have anything you'd like to ask or suggest. I use a |github_link| for tracking bugs and feature requests so that's the best place to file an issue.
|
||||
|
||||
I work on RenderDoc in my spare time but I am happy to help with anything and work with you if you have any issues that need attention.
|
||||
|
||||
@@ -74,7 +78,7 @@ RenderDoc also uses TCP and UDP ports ``39920`` for remote replay connections, f
|
||||
Where can I get the source to RenderDoc?
|
||||
----------------------------------------
|
||||
|
||||
RenderDoc is licensed under the MIT license and the source is available on `github <https://github.com/baldurk/renderdoc>`__.
|
||||
RenderDoc is licensed under the MIT license and the source is available on |github_link|.
|
||||
|
||||
What are the requirements for RenderDoc?
|
||||
----------------------------------------
|
||||
@@ -174,7 +178,11 @@ In addition to those:
|
||||
|
||||
Querying an ``ID3D11Device`` for UUID ``{A7AA6116-9C8D-4BBA-9083-B4D816B71B78}`` will return an ``IUnknown*`` and ``S_OK`` when RenderDoc is present.
|
||||
|
||||
`GL_EXT_debug_tool <https://renderdoc.org/debug_tool.txt>`_ is implemented on RenderDoc, which is an extension I've proposed for this purpose (identifying when and which tool is injected in your program). It allows you to query for the presence name and type of a debug tool that's currently hooked. At the time of writing only RenderDoc implements this as I've only just proposed the extension publicly, but in future you can use the queries described in that spec.
|
||||
.. |debug_tool_link| raw:: html
|
||||
|
||||
<a href="https://renderdoc.org/debug_tool.txt" target="_blank">GL_EXT_debug_tool</a>
|
||||
|
||||
|debug_tool_link| is implemented on RenderDoc, which is an extension I've proposed for this purpose (identifying when and which tool is injected in your program). It allows you to query for the presence name and type of a debug tool that's currently hooked. At the time of writing only RenderDoc implements this as I've only just proposed the extension publicly, but in future you can use the queries described in that spec.
|
||||
|
||||
.. note::
|
||||
|
||||
|
||||
@@ -3,6 +3,9 @@ In-application API
|
||||
|
||||
Reference for RenderDoc in-application API
|
||||
|
||||
.. |semver_link| raw:: html
|
||||
|
||||
<a href="http://semver.org" target="_blank">semantic versioning</a>
|
||||
|
||||
This page describes the RenderDoc API exposed to applications being captured, both in overall organisation as well as a specific reference on each function.
|
||||
|
||||
@@ -11,7 +14,7 @@ This page describes the RenderDoc API exposed to applications being captured, bo
|
||||
|
||||
This function is the only entry point actually exported from the RenderDoc module. You call this function with the desired API version, and pass it the address of a pointer to the appropriate struct type. If successful, RenderDoc will set the pointer to point to a struct containing the function pointers for the API functions (detailed below) and return 1.
|
||||
|
||||
Note that version numbers follow `semantic versioning <http://semver.org/>`_ which means the implementation returned may have a higher minor and/or patch version than requested.
|
||||
Note that version numbers follow |semver_link| which means the implementation returned may have a higher minor and/or patch version than requested.
|
||||
|
||||
:param RENDERDOC_Version version: is the version number of the API for which you want the interface struct.
|
||||
:param void** outAPIPointers: will be filled with the address of the API's function pointer struct, if supported. E.g. if ``eRENDERDOC_API_Version_1_0_1`` is requested, outAPIPointers will be filled with ``RENDERDOC_API_1_0_1*``.
|
||||
@@ -21,7 +24,7 @@ This page describes the RenderDoc API exposed to applications being captured, bo
|
||||
.. cpp:function:: void GetAPIVersion(int *major, int *minor, int *patch)
|
||||
|
||||
|
||||
This function returns the actual API version of the implementation returned. Version numbers follow `semantic versioning <http://semver.org/>`_ which means the implementation returned may have a higher minor and/or patch version than requested: New patch versions are identical and backwards compatible in functionality. New minor versions add new functionality in a backwards compatible way.
|
||||
This function returns the actual API version of the implementation returned. Version numbers follow |semver_link| which means the implementation returned may have a higher minor and/or patch version than requested: New patch versions are identical and backwards compatible in functionality. New minor versions add new functionality in a backwards compatible way.
|
||||
|
||||
:param int* major: will be filled with the major version of the implementation's version.
|
||||
:param int* minor: will be filled with the minor version of the implementation's version.
|
||||
|
||||
+5
-1
@@ -1,6 +1,10 @@
|
||||
RenderDoc
|
||||
=========
|
||||
|
||||
.. |github_wiki_link| raw:: html
|
||||
|
||||
<a href="https://github.com/baldurk/renderdoc/wiki" target="_blank">GitHub wiki</a>
|
||||
|
||||
.. |renderdoc_logo| image:: imgs/logo.png
|
||||
|
||||
|renderdoc_logo|
|
||||
@@ -9,7 +13,7 @@ Welcome to RenderDoc - a graphics debugger currently available for D3D11, Vulkan
|
||||
|
||||
This document serves primarily as reference guide, introductory document and explanation of which features are available in RenderDoc and how to best use them.
|
||||
|
||||
The latest information and discussion is always available on the `GitHub wiki <https://github.com/baldurk/renderdoc/wiki>`_.
|
||||
The latest information and discussion is always available on the |github_wiki_link|.
|
||||
|
||||
Table of Contents
|
||||
=================
|
||||
|
||||
+41
-9
@@ -1,6 +1,22 @@
|
||||
Introduction
|
||||
============
|
||||
|
||||
.. |builds_link| raw:: html
|
||||
|
||||
<a href="https://renderdoc.org/builds" target="_blank">Builds page</a>
|
||||
|
||||
.. |github_link| raw:: html
|
||||
|
||||
<a href="https://github.com/baldurk/renderdoc" target="_blank">GitHub repository</a>
|
||||
|
||||
.. |github_wiki_link| raw:: html
|
||||
|
||||
<a href="https://github.com/baldurk/renderdoc/wiki" target="_blank">GitHub wiki</a>
|
||||
|
||||
.. |github_issues_link| raw:: html
|
||||
|
||||
<a href="https://github.com/baldurk/renderdoc/issues" target="_blank">GitHub issues list</a>
|
||||
|
||||
.. |renderdoc_logo| image:: imgs/logo.png
|
||||
|
||||
|renderdoc_logo|
|
||||
@@ -9,12 +25,12 @@ Welcome to RenderDoc - a graphics debugger currently available for D3D11, Vulkan
|
||||
|
||||
This document serves primarily as reference guide, introductory document and explanation of which features are available in RenderDoc and how to best use them.
|
||||
|
||||
The latest information and discussion is always available on the `GitHub wiki <https://github.com/baldurk/renderdoc/wiki>`_.
|
||||
The latest information and discussion is always available on the |github_wiki_link|.
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
RenderDoc is released under the MIT license, so there are no restrictions on your use of it either commercial or non-commercial. This includes the source release available on the `GitHub repository <https://github.com/baldurk/renderdoc/issues>`_.
|
||||
RenderDoc is released under the MIT license, so there are no restrictions on your use of it either commercial or non-commercial. This includes the source release available on the |github_link|.
|
||||
|
||||
Details of the licenses of third party software used in RenderDoc are included in the LICENSE file in the RenderDoc directory as well as in the :doc:`credits_acknowledgements`.
|
||||
|
||||
@@ -33,26 +49,42 @@ Important notes
|
||||
|
||||
* RenderDoc is not yet bug free! It is pretty stable but you will still likely encounter bugs depending on your use case. I am *always* happy to spend time to fix them and I can work with you even if you cannot share any details about your project. Get in touch (see below) and I will actively fix your bug!
|
||||
* On the other side of the coin, please do give feedback when RenderDoc works for you and request features that would make your life easier or improve your workflow.
|
||||
* There are a few common issues you might run into, so if you have any problems check the :doc:`getting_started/faq`, or the `issues page on github <https://github.com/baldurk/renderdoc/issues>`_ to see if it's been reported.
|
||||
* There are a few common issues you might run into, so if you have any problems check the :doc:`getting_started/faq`, or the |github_issues_link| to see if it's been reported.
|
||||
|
||||
Documentation and Tutorials
|
||||
---------------------------
|
||||
|
||||
I have recorded some `youtube videos <http://www.youtube.com/user/baldurkarlsson/>`_ showing the use of some basic features and an introduction/overview.
|
||||
.. |youtube_tuts_link| raw:: html
|
||||
|
||||
There is also a great presentation by `@Icetigris <https://twitter.com/Icetigris>`_ which goes into some details of how RenderDoc can be used in real world situations: `slides are up here <https://docs.google.com/presentation/d/1LQUMIld4SGoQVthnhT1scoA3k4Sg0as14G4NeSiSgFU/edit#slide-id.p>`_.
|
||||
<a href="http://www.youtube.com/user/baldurkarlsson/" target="_blank">youtube video tutorials</a>
|
||||
|
||||
I have recorded some |youtube_tuts_link| showing the use of some basic features and an introduction/overview.
|
||||
|
||||
.. |icetigris_twitter_link| raw:: html
|
||||
|
||||
<a href="https://twitter.com/Icetigris" target="_blank">@Icetigris</a>
|
||||
|
||||
.. |icetigris_presentation_link| raw:: html
|
||||
|
||||
<a href="https://docs.google.com/presentation/d/1LQUMIld4SGoQVthnhT1scoA3k4Sg0as14G4NeSiSgFU/" target="_blank">slides are up here</a>
|
||||
|
||||
There is also a great presentation by |icetigris_twitter_link| which goes into some details of how RenderDoc can be used in real world situations: |icetigris_presentation_link|.
|
||||
|
||||
Contact info, Feedback, Bug reports
|
||||
-----------------------------------
|
||||
|
||||
If you want to get in touch with any feature requests, suggestions, comments etc then feel free to contact me: `Contact me <mailto:baldurk@baldurk.org?subject=RenderDoc%20feedback>`_.
|
||||
|
||||
Bug reports can be submitted directly via email, or also on the `github repository <https://github.com/baldurk/renderdoc/issues>`_ where you can also find the full source code.
|
||||
Bug reports can be submitted directly via email, or also on the |github_issues_link| where you can also find the full source code.
|
||||
|
||||
The `builds page <https://renderdoc.org/builds>`_ always has the latest stable and beta build downloads, as well as builds made from the source code each night for the bleeding edge. Stable releases update relatively infrequently and are tested the most to ensure they're as reliable as possible. Beta releases update more often to expose the latest fixes and features from the source, but risk more bugs sneaking in.
|
||||
The |builds_link| always has the latest stable and beta build downloads, as well as builds made from the source code each night for the bleeding edge. Stable releases update relatively infrequently and are tested the most to ensure they're as reliable as possible. Beta releases update more often to expose the latest fixes and features from the source, but risk more bugs sneaking in.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
* `RenderDoc Homepage <http://renderdoc.org/>`_
|
||||
* `Builds page <https://renderdoc.org/builds>`_
|
||||
.. |homepage_link| raw:: html
|
||||
|
||||
<a href="https://renderdoc.org/" target="_blank">RenderDoc Homepage</a>
|
||||
|
||||
* |homepage_link|
|
||||
* |builds_link|
|
||||
|
||||
@@ -166,7 +166,11 @@ When you've entered a path, or filename, in the executable text at the top of th
|
||||
|
||||
The shim dll will load, create a thread that checks to see if the process matches the path or filename specified, and then unload. If the process matches it will also inject RenderDoc and capturing will continue as normal. At this point you should *first disable the global hook*, then you can use the 'Attach to running instance' menu option to continue as normal.
|
||||
|
||||
RenderDoc implements this behaviour by modifying the `AppInit_DLLs <http://support2.microsoft.com/kb/197571>`__ registry key to reference RenderDoc's dlls. This is not a particularly safe method but it's the only reliable method to do what we want. The shim dll is deliberately made as small and thin as possible, referencing only ``kernel32.dll``, to minimise any risks.
|
||||
.. |appinit_link| raw:: html
|
||||
|
||||
<a href="http://support2.microsoft.com/kb/197571" target="_blank">AppInit_DLLs</a>
|
||||
|
||||
RenderDoc implements this behaviour by modifying the |appinit_link| registry key to reference RenderDoc's dlls. This is not a particularly safe method but it's the only reliable method to do what we want. The shim dll is deliberately made as small and thin as possible, referencing only ``kernel32.dll``, to minimise any risks.
|
||||
|
||||
If RenderDoc crashes or something otherwise goes wrong while these registry keys are modified, the shim dll will continue to be injected into every process which is certainly not desireable. Should anything go wrong, RenderDoc writes a ``.reg`` file that restores the registry to its previous state in ``%TEMP%``.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user