mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-09-23 06:05:45 +00:00
Add detailed per-topic writeups of relevant areas for python scripts
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
|
||||
.. _resourceids:
|
||||
|
||||
Resource IDs
|
||||
============
|
||||
|
||||
Within RenderDoc all resources are referenced internally by a unique ID. This ID should be considered arbitrary and unordered but will never overlap so will always uniquely identify an object. The python class for this ID is :class:`~renderdoc.ResourceId`. IDs can't be constructed directly by python scripts so you must find the ID in some reference point - from a list of resources by name, or from a pipeline binding point.
|
||||
|
||||
Resource IDs are only unique within a capture, and there is no correlation between the IDs used in one capture and another.
|
||||
|
||||
Every API object like a texture, buffer, or shader will have its own ID. When looking up a resource or cross referencing from an API call or pipeline binding you will often find that a resource is referenced only by its ID.
|
||||
|
||||
Anywhere that having ``NULL`` or no resource is a valid concept you may find a "Null" Resource ID. This can be compared either to a default-constructed resource ID e.g. ``renderdoc.ResourceId()`` or explicitly via the helper :meth:`~renderdoc.ResourceId.Null`.
|
||||
|
||||
.. highlight:: python
|
||||
.. code:: python
|
||||
|
||||
pipe = pyrenderdoc.CurPipelineState()
|
||||
|
||||
buffer_id = pipe.GetIBuffer().resourceId
|
||||
|
||||
if buffer_id == renderdoc.ResourceId():
|
||||
print("No index buffer is bound")
|
||||
else:
|
||||
buffer_info = pyrenderdoc.GetBuffer(buffer_id)
|
||||
print(f"Index buffer is {buffer_info.length} bytes in size")
|
||||
Reference in New Issue
Block a user