Graphics

Query and manipulate scene and rendering information.

The graphics group provides the essential set of tools for describing a rendering scene, such as texturing, lighting or view information. The following entities are presents in this modules, along with their public data and access functions:

  • A3DGraphAmbientLightData
  • A3DGraphCameraData
  • A3DGraphDirectionalLightData
  • A3DGraphHatchingPatternLineData
  • A3DGraphicsData
  • A3DGraphPointLightData
  • A3DGraphSceneDisplayParametersData
  • A3DGraphSpotLightData
  • A3DMiscCascadedAttributesData

The module also provides a set of indexed data:

  • A3DGraphDottingPatternData
  • A3DGraphHatchingPatternData
  • A3DGraphLinePatternData
  • A3DGraphMaterialData
  • A3DGraphPictureData
  • A3DGraphRgbColorData
  • A3DGraphSolidPatternData
  • A3DGraphStyleData
  • A3DGraphVPicturePatternData

Any entity of the given type can be used as an A3DRootBaseWithGraphics.

HOOPS Exchange provides a global container (A3DGlobalData) which references each of these data using indexed lists. Thus, structures such as A3DGraphRgbColorData are obtained using an non-typed numerical index.

Yet, these data act as front-end for internal entities which are still referenced to by handles. The purpose of obtaining the underlying entity of an indexed data depends on the context and is generally an uncommon operation. As an example, the full PBR (Physically-Based Rendering) features is provided as an extension of A3DGraphMaterialData throughout its underlying entity. To retrieve the underlying entity of an indexed data, see A3DMiscPointerFromIndexGet.

Parameters

pLight: A handle to the light to fetch data from. /

pData: The A3DGraphAmbientLightData to fill in. /

Returns

A3D_SUCCESS or an error code in case of failure. / /

Index

Variables

Structures

Functions

Variables

A3DVector3dData m_sDirection

Fetches data from an ambient light source entity given its handle. / /.

  \brief Data for an ambient light source entity (``)

/ /


  2.0 / / An ambient light simulates lighting that bounces everywhere and thus comes / from no specific location. Ambient lights illuminate every face of an object / regardless of their position or orientation. / / All colors within this structure are global indexes to RGB color codes. The / actual values can be queried using ``A3DGlobalGetGraphRgbColorData``\ . / / ``A3DGraphAmbientLightData`` is one of the four light source types provided by / HOOPS. It is associated to the ``kA3DTypeGraphAmbientLight`` entity type. / The other available light sources are ``A3DGraphPointLightData``\ , / ``A3DGraphSpotLightData`` and ``A3DGraphDirectionalLightData``\ . / /



  :c:func:`~A3DGlobalGetGraphRgbColorData` /



  :c:func:`~A3DGlobalInsertGraphRgbColor` /



  :c:struct:`~A3DGraphRgbColorData` /



  :c:struct:`~A3DGraphMaterialData` /



  A3DGraphDirectionalLightData /



  A3DGraphPointLightData /



  A3DGraphSpotLightData /

typedef struct { A3DUns16 m_usStructSize; // Reserved: will be initialized by A3D_INITIALIZE_DATA. A3DUns32 m_uiAmbientColorIndex; ///< The main or ambient color of the light source A3DUns32 m_uiDiffuseColorIndex; ///< The diffuse color of the light source A3DUns32 m_uiSpecularColorIndex; ///< The specular color of the light source } A3DGraphAmbientLightData; A3DAPI_LOAD

Parameters

pLight: A handle to the light to fetch data from. /

pData: The A3DGraphAmbientLightData to fill in. /

Returns

A3D_SUCCESS or an error code in case of failure. / /
* other entity* * This function allows you to retrieve the entity handle behind an indexed* data From the entity
**other entity **This function allows you to retrieve the entity handle behind an indexed data From the

Retrieve the handle of an indexed entity.

2.0

Even if they are usually accessed using a numerical index from the global data, entities such as A3DGraphMaterialData each have a handle like any