KiCad PCB EDA Suite
Loading...
Searching...
No Matches
RENDER_3D_RAYTRACE_RAM Class Reference

#include <render_3d_raytrace_ram.h>

Inheritance diagram for RENDER_3D_RAYTRACE_RAM:
RENDER_3D_RAYTRACE_BASE RENDER_3D_BASE

Public Member Functions

 RENDER_3D_RAYTRACE_RAM (BOARD_ADAPTER &aAdapter, CAMERA &aCamera)
 
 ~RENDER_3D_RAYTRACE_RAM ()
 
uint8_t * GetBuffer ()
 
wxSize GetRealBufferSize ()
 
void SetCurWindowSize (const wxSize &aSize) override
 Before each render, the canvas will tell the render what is the size of its windows, so render can take actions if it changed.
 
bool Redraw (bool aIsMoving, REPORTER *aStatusReporter, REPORTER *aWarningReporter) override
 Redraw the view.
 
int GetWaitForEditingTimeOut () override
 Give the interface the time (in ms) that it should wait for editing or movements before (this works for display preview mode).
 
void Reload (REPORTER *aStatusReporter, REPORTER *aWarningReporter, bool aOnlyLoadCopperAndShapes)
 
BOARD_ITEMIntersectBoardItem (const RAY &aRay)
 
void ReloadRequest ()
 
bool IsReloadRequestPending () const
 Query if there is a pending reload request.
 
void SetBusyIndicatorFactory (BUSY_INDICATOR::FACTORY aNewFactory)
 Set a new busy indicator factory.
 

Static Public Attributes

static constexpr float MIN_DISTANCE_IU = 4 * PCB_IU_PER_MM
 

Protected Member Functions

void createItemsFromContainer (const BVH_CONTAINER_2D *aContainer2d, PCB_LAYER_ID aLayer_id, const MATERIAL *aMaterialLayer, const SFVEC3F &aLayerColor, float aLayerZOffset)
 
void restartRenderState ()
 
void renderTracing (uint8_t *ptrPBO, REPORTER *aStatusReporter)
 
void postProcessShading (uint8_t *ptrPBO, REPORTER *aStatusReporter)
 
void postProcessBlurFinish (uint8_t *ptrPBO, REPORTER *aStatusReporter)
 
void renderBlockTracing (uint8_t *ptrPBO, signed int iBlock)
 
void renderFinalColor (uint8_t *ptrPBO, const SFVEC4F &rgbColor, bool applyColorSpaceConversion)
 
void renderRayPackets (const SFVEC4F *bgColorY, const RAY *aRayPkt, HITINFO_PACKET *aHitPacket, bool is_testShadow, SFVEC4F *aOutHitColor)
 
void renderAntiAliasPackets (const SFVEC4F *aBgColorY, const HITINFO_PACKET *aHitPck_X0Y0, const HITINFO_PACKET *aHitPck_AA_X1Y1, const RAY *aRayPck, SFVEC4F *aOutHitColor)
 
void setupMaterials ()
 
SFVEC4F shadeHit (const SFVEC4F &aBgColor, const RAY &aRay, HITINFO &aHitInfo, bool aIsInsideObject, unsigned int aRecursiveLevel, bool is_testShadow) const
 
void createObject (CONTAINER_3D &aDstContainer, const OBJECT_2D *aObject2D, float aZMin, float aZMax, const MATERIAL *aMaterial, const SFVEC3F &aObjColor)
 Create one or more 3D objects form a 2D object and Z positions.
 
void addPadsAndVias ()
 
void insertHole (const PCB_VIA *aVia)
 
void insertHole (const PAD *aPad)
 
void load3DModels (CONTAINER_3D &aDstContainer, bool aSkipMaterialInformation)
 
void addModels (CONTAINER_3D &aDstContainer, const S3DMODEL *a3DModel, const glm::mat4 &aModelMatrix, float aFPOpacity, bool aSkipMaterialInformation, BOARD_ITEM *aBoardItem)
 
MODEL_MATERIALSgetModelMaterial (const S3DMODEL *a3DModel)
 
void initializeBlockPositions ()
 
void render (uint8_t *ptrPBO, REPORTER *aStatusReporter)
 
void renderPreview (uint8_t *ptrPBO)
 
std::unique_ptr< BUSY_INDICATORCreateBusyIndicator () const
 Return a created busy indicator, if a factory has been set, else a null pointer.
 

Static Protected Member Functions

static SFVEC4F premultiplyAlpha (const SFVEC4F &aInput)
 

Protected Attributes

struct {
   BLINN_PHONG_MATERIAL   m_Paste
 
   BLINN_PHONG_MATERIAL   m_SilkS
 
   BLINN_PHONG_MATERIAL   m_SolderMask
 
   BLINN_PHONG_MATERIAL   m_EpoxyBoard
 
   BLINN_PHONG_MATERIAL   m_Copper
 
   BLINN_PHONG_MATERIAL   m_NonPlatedCopper
 
   BLINN_PHONG_MATERIAL   m_Floor
 
m_materials
 
BOARD_NORMAL m_boardMaterial
 
COPPER_NORMAL m_copperMaterial
 
PLATED_COPPER_NORMAL m_platedCopperMaterial
 
SOLDER_MASK_NORMAL m_solderMaskMaterial
 
PLASTIC_NORMAL m_plasticMaterial
 
PLASTIC_SHINE_NORMAL m_shinyPlasticMaterial
 
BRUSHED_METAL_NORMAL m_brushedMetalMaterial
 
SILK_SCREEN_NORMAL m_silkScreenMaterial
 
bool m_is_canvas_initialized
 
bool m_isPreview
 
RT_RENDER_STATE m_renderState
 State used on quality render.
 
int64_t m_renderStartTime
 Time that the render starts.
 
size_t m_blockRenderProgressCount
 Save the number of blocks progress of the render.
 
POST_SHADER_SSAO m_postShaderSsao
 
std::list< LIGHT * > m_lights
 
DIRECTIONAL_LIGHTm_cameraLight
 
CONTAINER_3D m_objectContainer
 Store the list of created objects special for RT that will be clear in the end.
 
CONTAINER_2D m_containerWithObjectsToDelete
 
CONTAINER_2Dm_outlineBoard2dObjects
 
BVH_CONTAINER_2Dm_antioutlineBoard2dObjects
 
ACCELERATOR_3Dm_accelerator
 
SFVEC4F m_backgroundColorTop
 
SFVEC4F m_backgroundColorBottom
 Used to see if the windows size changed.
 
wxSize m_oldWindowsSize
 Encode Morton code positions.
 
std::vector< SFVEC2UIm_blockPositions
 Flag if a position was already processed (cleared each new render).
 
std::vector< int > m_blockPositionsWasProcessed
 Encode the Morton code positions (on fast preview mode).
 
std::vector< SFVEC2UIm_blockPositionsFast
 
SFVEC2UI m_realBufferSize
 
SFVEC2UI m_fastPreviewModeSize
 
HITINFO_PACKETm_firstHitinfo
 
SFVEC3Fm_shaderBuffer
 
unsigned int m_xoffset
 
unsigned int m_yoffset
 
MAP_MODEL_MATERIALS m_modelMaterialMap
 Stores materials of the 3D models.
 
unsigned int m_convertedDummyBlockCount
 
unsigned int m_converted2dRoundSegmentCount
 
BOARD_ADAPTERm_boardAdapter
 
CAMERAm_camera
 Flag if the canvas specific for this render was already initialized.
 
bool m_canvasInitialized
 
bool m_reloadRequested
 The window size that this camera is working.
 
wxSize m_windowSize
 

Static Protected Attributes

static const wxChar * m_logTrace = wxT( "KI_TRACE_3D_RENDER" )
 Trace mask used to enable or disable the trace output of this class.
 

Private Member Functions

void initPbo () override
 
void deletePbo () override
 

Private Attributes

uint8_t * m_outputBuffer
 
uint32_t m_pboDataSize
 
BUSY_INDICATOR::FACTORY m_busyIndicatorFactory
 < Factory that returns a suitable busy indicator for the context.
 

Detailed Description

Definition at line 32 of file render_3d_raytrace_ram.h.

Constructor & Destructor Documentation

◆ RENDER_3D_RAYTRACE_RAM()

RENDER_3D_RAYTRACE_RAM::RENDER_3D_RAYTRACE_RAM ( BOARD_ADAPTER aAdapter,
CAMERA aCamera 
)
explicit

Definition at line 30 of file render_3d_raytrace_ram.cpp.

◆ ~RENDER_3D_RAYTRACE_RAM()

RENDER_3D_RAYTRACE_RAM::~RENDER_3D_RAYTRACE_RAM ( )

Definition at line 38 of file render_3d_raytrace_ram.cpp.

References deletePbo().

Member Function Documentation

◆ addModels()

◆ addPadsAndVias()

void RENDER_3D_RAYTRACE_BASE::addPadsAndVias ( )
protectedinherited

◆ CreateBusyIndicator()

std::unique_ptr< BUSY_INDICATOR > RENDER_3D_BASE::CreateBusyIndicator ( ) const
protectedinherited

Return a created busy indicator, if a factory has been set, else a null pointer.

Settings reference in use for this render.

Definition at line 69 of file render_3d_base.cpp.

References RENDER_3D_BASE::m_busyIndicatorFactory.

Referenced by RENDER_3D_OPENGL::Redraw(), RENDER_3D_RAYTRACE_GL::Redraw(), and Redraw().

◆ createItemsFromContainer()

◆ createObject()

void RENDER_3D_RAYTRACE_BASE::createObject ( CONTAINER_3D aDstContainer,
const OBJECT_2D aObject2D,
float  aZMin,
float  aZMax,
const MATERIAL aMaterial,
const SFVEC3F aObjColor 
)
protectedinherited

◆ deletePbo()

void RENDER_3D_RAYTRACE_RAM::deletePbo ( )
overrideprivatevirtual

Implements RENDER_3D_RAYTRACE_BASE.

Definition at line 56 of file render_3d_raytrace_ram.cpp.

References m_outputBuffer.

Referenced by initPbo(), and ~RENDER_3D_RAYTRACE_RAM().

◆ GetBuffer()

uint8_t * RENDER_3D_RAYTRACE_RAM::GetBuffer ( )

Definition at line 44 of file render_3d_raytrace_ram.cpp.

References m_outputBuffer.

Referenced by PCBNEW_JOBS_HANDLER::JobExportRender().

◆ getModelMaterial()

◆ GetRealBufferSize()

wxSize RENDER_3D_RAYTRACE_RAM::GetRealBufferSize ( )

◆ GetWaitForEditingTimeOut()

int RENDER_3D_RAYTRACE_BASE::GetWaitForEditingTimeOut ( )
overridevirtualinherited

Give the interface the time (in ms) that it should wait for editing or movements before (this works for display preview mode).

Returns
a value in milliseconds

Implements RENDER_3D_BASE.

Definition at line 88 of file render_3d_raytrace_base.cpp.

◆ initializeBlockPositions()

◆ initPbo()

void RENDER_3D_RAYTRACE_RAM::initPbo ( )
overrideprivatevirtual

◆ insertHole() [1/2]

◆ insertHole() [2/2]

◆ IntersectBoardItem()

BOARD_ITEM * RENDER_3D_RAYTRACE_BASE::IntersectBoardItem ( const RAY aRay)
inherited

◆ IsReloadRequestPending()

bool RENDER_3D_BASE::IsReloadRequestPending ( ) const
inlineinherited

Query if there is a pending reload request.

Returns
true if it wants to reload, false if there is no reload pending

Definition at line 77 of file render_3d_base.h.

References RENDER_3D_BASE::m_reloadRequested.

Referenced by EDA_3D_CANVAS::DoRePaint(), EDA_3D_CANVAS::IsReloadRequestPending(), and EDA_3D_CANVAS::OnMouseMove().

◆ load3DModels()

◆ postProcessBlurFinish()

void RENDER_3D_RAYTRACE_BASE::postProcessBlurFinish ( uint8_t *  ptrPBO,
REPORTER aStatusReporter 
)
protectedinherited

◆ postProcessShading()

◆ premultiplyAlpha()

SFVEC4F RENDER_3D_RAYTRACE_BASE::premultiplyAlpha ( const SFVEC4F aInput)
staticprotectedinherited

◆ Redraw()

bool RENDER_3D_RAYTRACE_RAM::Redraw ( bool  aIsMoving,
REPORTER aStatusReporter,
REPORTER aWarningReporter 
)
overridevirtual

◆ Reload()

void RENDER_3D_RAYTRACE_BASE::Reload ( REPORTER aStatusReporter,
REPORTER aWarningReporter,
bool  aOnlyLoadCopperAndShapes 
)
inherited

Definition at line 361 of file raytracing/create_scene.cpp.

References _, CONTAINER_2D_BASE::Add(), CONTAINER_3D_BASE::Add(), RENDER_3D_RAYTRACE_BASE::addPadsAndVias(), B_Adhes, B_CrtYd, B_Cu, B_Fab, B_Mask, B_Paste, B_SilkS, BOARD_ADAPTER::BiuTo3dUnits(), SHAPE_POLY_SET::BooleanSubtract(), buildBoardBoundingBoxPoly(), BVH_CONTAINER_2D::BuildBVH(), CONTAINER_2D_BASE::Clear(), CONTAINER_3D_BASE::Clear(), Cmts_User, ConvertPolygonToBlocks(), ConvertSRGBToLinear(), RENDER_3D_RAYTRACE_BASE::createItemsFromContainer(), RENDER_3D_RAYTRACE_BASE::createObject(), CSGITEM_EMPTY, CSGITEM_FULL, CAMERA::DEFAULT_MAX_ZOOM, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::differentiate_plated_copper, Dwgs_User, Eco1_User, Eco2_User, F_Adhes, F_CrtYd, F_Cu, F_Fab, F_Mask, F_Paste, F_SilkS, SHAPE_POLY_SET::Fracture(), BOARD_ADAPTER::GetAverageHoleDiameter(), BOARD_ADAPTER::GetAverageViaHoleDiameter(), BOARD_ADAPTER::GetBackCopperThickness(), CONTAINER_3D_BASE::GetBBox(), BOARD_ADAPTER::GetBBox(), BOARD_ADAPTER::GetBoard(), BOARD_ADAPTER::GetBoardCenter(), BOARD_ADAPTER::GetBoardPoly(), CAMERA::GetCameraInitPos(), BBOX_3D::GetCenter(), BOARD_ADAPTER::GetColor(), BOARD_ADAPTER::GetFrontCopperThickness(), BOARD_ADAPTER::GetHoleCount(), BVH_CONTAINER_2D::GetIntersectingObjects(), BOARD_ADAPTER::GetLayerBottomZPos(), BOARD_ADAPTER::GetLayerMap(), BOARD_ADAPTER::GetLayerTopZPos(), CONTAINER_2D_BASE::GetList(), CONTAINER_3D_BASE::GetList(), BBOX_3D::GetMaxDimension(), BOARD_ADAPTER::GetPlatedPadsBack(), BOARD_ADAPTER::GetPlatedPadsFront(), GetRunningMicroSecs(), BOARD_ADAPTER::GetSphericalCoord(), BOARD_ADAPTER::GetTH_ODs(), BOARD_ADAPTER::GetViaCount(), BOARD_ADAPTER::GetVisibleLayers(), BOARD_ADAPTER::InitSettings(), OBJECT_2D_STATS::Instance(), OBJECT_3D_STATS::Instance(), IsCopperLayer(), BBOX_3D::IsInitialized(), LAYER_3D_BOARD, LAYER_3D_SOLDERMASK_BOTTOM, LAYER_3D_SOLDERMASK_TOP, RENDER_3D_RAYTRACE_BASE::load3DModels(), RENDER_3D_RAYTRACE_BASE::m_accelerator, RENDER_3D_RAYTRACE_BASE::m_antioutlineBoard2dObjects, BOARD_ADAPTER::m_BgColorTop, RENDER_3D_BASE::m_boardAdapter, BOARD_ADAPTER::m_BoardBodyColor, RENDER_3D_BASE::m_camera, RENDER_3D_RAYTRACE_BASE::m_cameraLight, BOARD_ADAPTER::m_Cfg, RENDER_3D_RAYTRACE_BASE::m_containerWithObjectsToDelete, BOARD_ADAPTER::m_CopperColor, BOARD_ADAPTER::m_ECO1Color, BOARD_ADAPTER::m_ECO2Color, RENDER_3D_RAYTRACE_BASE::m_lights, RENDER_3D_RAYTRACE_BASE::m_materials, RENDER_3D_RAYTRACE_BASE::m_modelMaterialMap, RENDER_3D_RAYTRACE_BASE::m_objectContainer, RENDER_3D_RAYTRACE_BASE::m_outlineBoard2dObjects, RENDER_3D_BASE::m_reloadRequested, EDA_3D_VIEWER_SETTINGS::m_Render, BOARD_ADAPTER::m_SilkScreenColorBot, BOARD_ADAPTER::m_SilkScreenColorTop, BOARD_ADAPTER::m_SolderMaskColorBot, BOARD_ADAPTER::m_SolderMaskColorTop, BOARD_ADAPTER::m_SolderPasteColor, BOARD_ADAPTER::m_UserCommentsColor, BOARD_ADAPTER::m_UserDrawingsColor, BBOX_3D::Max(), BBOX_3D::Min(), RENDER_3D_RAYTRACE_BASE::MIN_DISTANCE_IU, NextFloatDown(), NextFloatUp(), SHAPE_POLY_SET::OutlineCount(), SHAPE_POLY_SET::PM_FAST, RANGE_SCALE_3D, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_backfloor, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_lightColor, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_lightColorBottom, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_lightColorCamera, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_lightColorTop, REPORTER::Report(), OBJECT_2D_STATS::ResetStats(), OBJECT_3D_STATS::ResetStats(), BBOX_3D::Scale(), CAMERA::SetBoardLookAtPos(), LIGHT::SetCastShadows(), TRIANGLE::SetColor(), CYLINDER::SetColor(), LAYER_ITEM::SetColor(), OBJECT_3D::SetMaterial(), CAMERA::SetMaxZoom(), CAMERA::SetMinZoom(), RENDER_3D_RAYTRACE_BASE::setupMaterials(), SphericalToCartesian(), v1, v2, v3, v4, v5, VECTOR2< T >::x, VECTOR3< T >::x, VECTOR2< T >::y, VECTOR3< T >::y, and VECTOR3< T >::z.

Referenced by EDA_3D_CANVAS::DoRePaint(), RENDER_3D_RAYTRACE_GL::Redraw(), and Redraw().

◆ ReloadRequest()

void RENDER_3D_BASE::ReloadRequest ( )
inlineinherited
Todo:
This must be reviewed to add flags to improve specific render.

Definition at line 70 of file render_3d_base.h.

References RENDER_3D_BASE::m_reloadRequested.

Referenced by EDA_3D_CANVAS::ReloadRequest(), EDA_3D_CANVAS::RenderEngineChanged(), and EDA_3D_CANVAS::RenderRaytracingRequest().

◆ render()

◆ renderAntiAliasPackets()

void RENDER_3D_RAYTRACE_BASE::renderAntiAliasPackets ( const SFVEC4F aBgColorY,
const HITINFO_PACKET aHitPck_X0Y0,
const HITINFO_PACKET aHitPck_AA_X1Y1,
const RAY aRayPck,
SFVEC4F aOutHitColor 
)
protectedinherited

◆ renderBlockTracing()

◆ renderFinalColor()

void RENDER_3D_RAYTRACE_BASE::renderFinalColor ( uint8_t *  ptrPBO,
const SFVEC4F rgbColor,
bool  applyColorSpaceConversion 
)
protectedinherited
Note
This should be used in future when the KiCad support a greater version of glm lib.

Definition at line 286 of file render_3d_raytrace_base.cpp.

References color, and convertLinearToSRGB().

Referenced by RENDER_3D_RAYTRACE_BASE::renderBlockTracing().

◆ renderPreview()

◆ renderRayPackets()

void RENDER_3D_RAYTRACE_BASE::renderRayPackets ( const SFVEC4F bgColorY,
const RAY aRayPkt,
HITINFO_PACKET aHitPacket,
bool  is_testShadow,
SFVEC4F aOutHitColor 
)
protectedinherited

◆ renderTracing()

◆ restartRenderState()

◆ SetBusyIndicatorFactory()

void RENDER_3D_BASE::SetBusyIndicatorFactory ( BUSY_INDICATOR::FACTORY  aNewFactory)
inherited

Set a new busy indicator factory.

When set, this factory will be used to generate busy indicators when suitable. If not set, no busy indicator will be used.

Definition at line 63 of file render_3d_base.cpp.

References RENDER_3D_BASE::m_busyIndicatorFactory.

◆ SetCurWindowSize()

void RENDER_3D_RAYTRACE_RAM::SetCurWindowSize ( const wxSize &  aSize)
overridevirtual

Before each render, the canvas will tell the render what is the size of its windows, so render can take actions if it changed.

Parameters
aSizethe current size of the render window

Implements RENDER_3D_BASE.

Definition at line 63 of file render_3d_raytrace_ram.cpp.

References initPbo(), and RENDER_3D_BASE::m_windowSize.

Referenced by PCBNEW_JOBS_HANDLER::JobExportRender().

◆ setupMaterials()

void RENDER_3D_RAYTRACE_BASE::setupMaterials ( )
protectedinherited

◆ shadeHit()

SFVEC4F RENDER_3D_RAYTRACE_BASE::shadeHit ( const SFVEC4F aBgColor,
const RAY aRay,
HITINFO aHitInfo,
bool  aIsInsideObject,
unsigned int  aRecursiveLevel,
bool  is_testShadow 
) const
protectedinherited

Definition at line 1385 of file render_3d_raytrace_base.cpp.

References RAY::at(), MATERIAL::GetAbsorvance(), MATERIAL::GetAmbientColor(), OBJECT_3D::GetDiffuseColor(), MATERIAL::GetEmissiveColor(), OBJECT_3D::GetMaterial(), OBJECT_3D::GetModelTransparency(), BOARD_ADAPTER::GetNonCopperLayerThickness(), MATERIAL::GetReflection(), MATERIAL::GetReflectionRayCount(), MATERIAL::GetRefractionRayCount(), MATERIAL::GetRefractionRecursionCount(), MATERIAL::GetSpecularColor(), RAY::Init(), ACCELERATOR_3D::Intersect(), ACCELERATOR_3D::IntersectP(), RENDER_3D_RAYTRACE_BASE::m_accelerator, RENDER_3D_BASE::m_boardAdapter, BOARD_ADAPTER::m_Cfg, RAY::m_Dir, HITINFO::m_HitNormal, HITINFO::m_HitPoint, RENDER_3D_RAYTRACE_BASE::m_isPreview, RENDER_3D_RAYTRACE_BASE::m_lights, EDA_3D_VIEWER_SETTINGS::m_Render, HITINFO::m_ShadowFactor, HITINFO::m_tHit, HITINFO::pHitObject, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_anti_aliasing, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_nrsamples_shadows, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_reflections, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_refractions, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_spread_reflections, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_spread_refractions, EDA_3D_VIEWER_SETTINGS::RENDER_SETTINGS::raytrace_spread_shadows, Refract(), MATERIAL::Shade(), RENDER_3D_RAYTRACE_BASE::shadeHit(), and UniformRandomHemisphereDirection().

Referenced by RENDER_3D_RAYTRACE_BASE::renderAntiAliasPackets(), RENDER_3D_RAYTRACE_BASE::renderPreview(), RENDER_3D_RAYTRACE_BASE::renderRayPackets(), and RENDER_3D_RAYTRACE_BASE::shadeHit().

Member Data Documentation

◆ m_accelerator

◆ m_antioutlineBoard2dObjects

◆ m_backgroundColorBottom

SFVEC4F RENDER_3D_RAYTRACE_BASE::m_backgroundColorBottom
protectedinherited

Used to see if the windows size changed.

Definition at line 179 of file render_3d_raytrace_base.h.

Referenced by RENDER_3D_RAYTRACE_BASE::render(), and RENDER_3D_RAYTRACE_BASE::renderBlockTracing().

◆ m_backgroundColorTop

SFVEC4F RENDER_3D_RAYTRACE_BASE::m_backgroundColorTop
protectedinherited

◆ m_blockPositions

std::vector< SFVEC2UI > RENDER_3D_RAYTRACE_BASE::m_blockPositions
protectedinherited

◆ m_blockPositionsFast

std::vector< SFVEC2UI > RENDER_3D_RAYTRACE_BASE::m_blockPositionsFast
protectedinherited

◆ m_blockPositionsWasProcessed

std::vector< int > RENDER_3D_RAYTRACE_BASE::m_blockPositionsWasProcessed
protectedinherited

Encode the Morton code positions (on fast preview mode).

Definition at line 188 of file render_3d_raytrace_base.h.

Referenced by RENDER_3D_RAYTRACE_BASE::renderTracing(), and RENDER_3D_RAYTRACE_BASE::restartRenderState().

◆ m_blockRenderProgressCount

size_t RENDER_3D_RAYTRACE_BASE::m_blockRenderProgressCount
protectedinherited

◆ m_boardAdapter

BOARD_ADAPTER& RENDER_3D_BASE::m_boardAdapter
protectedinherited

◆ m_boardMaterial

BOARD_NORMAL RENDER_3D_RAYTRACE_BASE::m_boardMaterial
protectedinherited

Definition at line 138 of file render_3d_raytrace_base.h.

Referenced by RENDER_3D_RAYTRACE_BASE::setupMaterials().

◆ m_brushedMetalMaterial

BRUSHED_METAL_NORMAL RENDER_3D_RAYTRACE_BASE::m_brushedMetalMaterial
protectedinherited

◆ m_busyIndicatorFactory

BUSY_INDICATOR::FACTORY RENDER_3D_BASE::m_busyIndicatorFactory
privateinherited

< Factory that returns a suitable busy indicator for the context.

Definition at line 125 of file render_3d_base.h.

Referenced by RENDER_3D_BASE::CreateBusyIndicator(), and RENDER_3D_BASE::SetBusyIndicatorFactory().

◆ m_camera

◆ m_cameraLight

◆ m_canvasInitialized

bool RENDER_3D_BASE::m_canvasInitialized
protectedinherited
Todo:
This must be reviewed in order to flag change types.

Definition at line 107 of file render_3d_base.h.

Referenced by RENDER_3D_OPENGL::initializeOpenGL(), RENDER_3D_OPENGL::Redraw(), RENDER_3D_RAYTRACE_GL::Redraw(), Redraw(), and RENDER_3D_BASE::RENDER_3D_BASE().

◆ m_containerWithObjectsToDelete

CONTAINER_2D RENDER_3D_RAYTRACE_BASE::m_containerWithObjectsToDelete
protectedinherited

◆ m_converted2dRoundSegmentCount

unsigned int RENDER_3D_RAYTRACE_BASE::m_converted2dRoundSegmentCount
protectedinherited

◆ m_convertedDummyBlockCount

unsigned int RENDER_3D_RAYTRACE_BASE::m_convertedDummyBlockCount
protectedinherited

◆ m_Copper

BLINN_PHONG_MATERIAL RENDER_3D_RAYTRACE_BASE::m_Copper
inherited

Definition at line 133 of file render_3d_raytrace_base.h.

◆ m_copperMaterial

COPPER_NORMAL RENDER_3D_RAYTRACE_BASE::m_copperMaterial
protectedinherited

Definition at line 139 of file render_3d_raytrace_base.h.

Referenced by RENDER_3D_RAYTRACE_BASE::setupMaterials().

◆ m_EpoxyBoard

BLINN_PHONG_MATERIAL RENDER_3D_RAYTRACE_BASE::m_EpoxyBoard
inherited

Definition at line 132 of file render_3d_raytrace_base.h.

◆ m_fastPreviewModeSize

SFVEC2UI RENDER_3D_RAYTRACE_BASE::m_fastPreviewModeSize
protectedinherited

◆ m_firstHitinfo

HITINFO_PACKET* RENDER_3D_RAYTRACE_BASE::m_firstHitinfo
protectedinherited

◆ m_Floor

BLINN_PHONG_MATERIAL RENDER_3D_RAYTRACE_BASE::m_Floor
inherited

Definition at line 135 of file render_3d_raytrace_base.h.

◆ m_is_canvas_initialized

bool RENDER_3D_RAYTRACE_BASE::m_is_canvas_initialized
protectedinherited

◆ m_isPreview

◆ m_lights

std::list<LIGHT*> RENDER_3D_RAYTRACE_BASE::m_lights
protectedinherited

◆ 

struct { ... } RENDER_3D_RAYTRACE_BASE::m_materials

◆ m_modelMaterialMap

MAP_MODEL_MATERIALS RENDER_3D_RAYTRACE_BASE::m_modelMaterialMap
protectedinherited

Stores materials of the 3D models.

Definition at line 205 of file render_3d_raytrace_base.h.

Referenced by RENDER_3D_RAYTRACE_BASE::getModelMaterial(), and RENDER_3D_RAYTRACE_BASE::Reload().

◆ m_NonPlatedCopper

BLINN_PHONG_MATERIAL RENDER_3D_RAYTRACE_BASE::m_NonPlatedCopper
inherited

Definition at line 134 of file render_3d_raytrace_base.h.

◆ m_objectContainer

CONTAINER_3D RENDER_3D_RAYTRACE_BASE::m_objectContainer
protectedinherited

Store the list of created objects special for RT that will be clear in the end.

Definition at line 168 of file render_3d_raytrace_base.h.

Referenced by RENDER_3D_RAYTRACE_BASE::createItemsFromContainer(), RENDER_3D_RAYTRACE_BASE::insertHole(), and RENDER_3D_RAYTRACE_BASE::Reload().

◆ m_oldWindowsSize

wxSize RENDER_3D_RAYTRACE_BASE::m_oldWindowsSize
protectedinherited

Encode Morton code positions.

Definition at line 182 of file render_3d_raytrace_base.h.

Referenced by RENDER_3D_RAYTRACE_GL::Redraw(), Redraw(), and RENDER_3D_RAYTRACE_BASE::RENDER_3D_RAYTRACE_BASE().

◆ m_outlineBoard2dObjects

CONTAINER_2D* RENDER_3D_RAYTRACE_BASE::m_outlineBoard2dObjects
protectedinherited

◆ m_outputBuffer

uint8_t* RENDER_3D_RAYTRACE_RAM::m_outputBuffer
private

Definition at line 53 of file render_3d_raytrace_ram.h.

Referenced by deletePbo(), GetBuffer(), initPbo(), and Redraw().

◆ m_Paste

BLINN_PHONG_MATERIAL RENDER_3D_RAYTRACE_BASE::m_Paste
inherited

Definition at line 129 of file render_3d_raytrace_base.h.

◆ m_pboDataSize

uint32_t RENDER_3D_RAYTRACE_RAM::m_pboDataSize
private

Definition at line 54 of file render_3d_raytrace_ram.h.

Referenced by initPbo().

◆ m_plasticMaterial

PLASTIC_NORMAL RENDER_3D_RAYTRACE_BASE::m_plasticMaterial
protectedinherited

◆ m_platedCopperMaterial

PLATED_COPPER_NORMAL RENDER_3D_RAYTRACE_BASE::m_platedCopperMaterial
protectedinherited

Definition at line 140 of file render_3d_raytrace_base.h.

Referenced by RENDER_3D_RAYTRACE_BASE::setupMaterials().

◆ m_postShaderSsao

◆ m_realBufferSize

◆ m_reloadRequested

bool RENDER_3D_BASE::m_reloadRequested
protectedinherited

◆ m_renderStartTime

int64_t RENDER_3D_RAYTRACE_BASE::m_renderStartTime
protectedinherited

◆ m_renderState

◆ m_shaderBuffer

◆ m_shinyPlasticMaterial

PLASTIC_SHINE_NORMAL RENDER_3D_RAYTRACE_BASE::m_shinyPlasticMaterial
protectedinherited

◆ m_SilkS

BLINN_PHONG_MATERIAL RENDER_3D_RAYTRACE_BASE::m_SilkS
inherited

Definition at line 130 of file render_3d_raytrace_base.h.

◆ m_silkScreenMaterial

SILK_SCREEN_NORMAL RENDER_3D_RAYTRACE_BASE::m_silkScreenMaterial
protectedinherited

Definition at line 145 of file render_3d_raytrace_base.h.

Referenced by RENDER_3D_RAYTRACE_BASE::setupMaterials().

◆ m_SolderMask

BLINN_PHONG_MATERIAL RENDER_3D_RAYTRACE_BASE::m_SolderMask
inherited

Definition at line 131 of file render_3d_raytrace_base.h.

◆ m_solderMaskMaterial

SOLDER_MASK_NORMAL RENDER_3D_RAYTRACE_BASE::m_solderMaskMaterial
protectedinherited

Definition at line 141 of file render_3d_raytrace_base.h.

Referenced by RENDER_3D_RAYTRACE_BASE::setupMaterials().

◆ m_windowSize

◆ m_xoffset

◆ m_yoffset

◆ MIN_DISTANCE_IU

constexpr float RENDER_3D_RAYTRACE_RAM::MIN_DISTANCE_IU = 4 * PCB_IU_PER_MM
staticconstexpr

Definition at line 37 of file render_3d_raytrace_ram.h.


The documentation for this class was generated from the following files: