Material Clustering Benchmark
ClusteringAlgorithms.DispatcherRSstopCondition Class Reference
Inheritance diagram for ClusteringAlgorithms.DispatcherRSstopCondition:
ClusteringAlgorithms.ADispatcherRS ClusteringAlgorithms.DispatcherKM ClusteringAlgorithms.ASimpleDispatcer ClusteringAlgorithms.ADispatcher ClusteringAlgorithms.IDispatcher

Public Member Functions

void AttributeClustersKHM (ClusteringTextures clusteringTextures, float p)
 
void AttributeClustersKM (ClusteringTextures clusteringTextures)
 
 DispatcherRSstopCondition (ComputeShader computeShader, bool doRandomizeEmptyClusters, bool useFullResTexRef, ADispatcherRS.Parameters parameters, ClusteringRTsAndBuffers clusteringRTsAndBuffers)
 
virtual void Dispose ()
 
float? GetVariance ()
 Computes variance for the current cluster centers. Depending on this.useFullResTexRef uses either working resolution (this.clusteringRTsAndBuffers.texturesWorkRes), or full resolution (this.clusteringRTsAndBuffers.texturesFullRes) input.

Sets incorrect attribution. Does not restore to save performance. More...
 
override void RunClustering (ClusteringTextures clusteringTextures)
 
override void SingleIteration (ClusteringTextures textures)
 
void UpdateClusterCenters (ClusteringTextures clusteringTextures, bool rejectOld)
 

Public Attributes

readonly ComputeShader computeShader
 

Protected Member Functions

void KMiteration (ClusteringTextures textures, bool rejectOld)
 First attributes pixels to clusters. Then updates cluster centers. In order to use the resulting cluster centers, one final cluster attribution is required! More...
 
void RandomSwap (ClusteringTextures clusteringTextures)
 
void ValidateCandidatesGPU ()
 
RandomSwapResult ValidateCandidatesReadback ()
 

Protected Attributes

readonly int kernelHandleRandomSwap
 
readonly int kernelHandleValidateCandidates
 
readonly Parameters parameters
 

Properties

override DispatcherParameters abstractParameters [get]
 
ClusteringRTsAndBuffers clusteringRTsAndBuffers [get]
 
override bool doesReadback [get]
 
bool doRandomizeEmptyClusters [get]
 
override string name [get]
 
int numIterations [get]
 
bool useFullResTexRef [get]
 
override bool usesStopCondition [get]
 
int warningCounter [get]
 

Detailed Description

Definition at line 5 of file DispatcherRSstopCondition.cs.

Constructor & Destructor Documentation

◆ DispatcherRSstopCondition()

ClusteringAlgorithms.DispatcherRSstopCondition.DispatcherRSstopCondition ( ComputeShader  computeShader,
bool  doRandomizeEmptyClusters,
bool  useFullResTexRef,
ADispatcherRS.Parameters  parameters,
ClusteringRTsAndBuffers  clusteringRTsAndBuffers 
)
inline

Definition at line 7 of file DispatcherRSstopCondition.cs.

Member Function Documentation

◆ AttributeClustersKHM()

void ClusteringAlgorithms.ADispatcher.AttributeClustersKHM ( ClusteringTextures  clusteringTextures,
float  p 
)
inlineinherited

Definition at line 118 of file ADispatcher.cs.

◆ AttributeClustersKM()

void ClusteringAlgorithms.ADispatcher.AttributeClustersKM ( ClusteringTextures  clusteringTextures)
inlineinherited

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 87 of file ADispatcher.cs.

◆ Dispose()

virtual void ClusteringAlgorithms.ADispatcher.Dispose ( )
inlinevirtualinherited

Definition at line 183 of file ADispatcher.cs.

◆ GetVariance()

float? ClusteringAlgorithms.ADispatcher.GetVariance ( )
inlineinherited

Computes variance for the current cluster centers. Depending on this.useFullResTexRef uses either working resolution (this.clusteringRTsAndBuffers.texturesWorkRes), or full resolution (this.clusteringRTsAndBuffers.texturesFullRes) input.

Sets incorrect attribution. Does not restore to save performance.

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 152 of file ADispatcher.cs.

◆ KMiteration()

void ClusteringAlgorithms.DispatcherKM.KMiteration ( ClusteringTextures  textures,
bool  rejectOld 
)
inlineprotectedinherited

First attributes pixels to clusters. Then updates cluster centers. In order to use the resulting cluster centers, one final cluster attribution is required!

Definition at line 46 of file DispatcherKM.cs.

◆ RandomSwap()

void ClusteringAlgorithms.ADispatcherRS.RandomSwap ( ClusteringTextures  clusteringTextures)
inlineprotectedinherited

Definition at line 208 of file ADispatcherRS.cs.

◆ RunClustering()

override void ClusteringAlgorithms.DispatcherRSstopCondition.RunClustering ( ClusteringTextures  clusteringTextures)
inlinevirtual

Implements ClusteringAlgorithms.ADispatcherRS.

Definition at line 30 of file DispatcherRSstopCondition.cs.

◆ SingleIteration()

override void ClusteringAlgorithms.DispatcherKM.SingleIteration ( ClusteringTextures  textures)
inlinevirtualinherited

Implements ClusteringAlgorithms.ASimpleDispatcer.

Definition at line 52 of file DispatcherKM.cs.

◆ UpdateClusterCenters()

void ClusteringAlgorithms.ADispatcher.UpdateClusterCenters ( ClusteringTextures  clusteringTextures,
bool  rejectOld 
)
inlineinherited

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 55 of file ADispatcher.cs.

◆ ValidateCandidatesGPU()

void ClusteringAlgorithms.ADispatcherRS.ValidateCandidatesGPU ( )
inlineprotectedinherited

Definition at line 195 of file ADispatcherRS.cs.

◆ ValidateCandidatesReadback()

RandomSwapResult ClusteringAlgorithms.ADispatcherRS.ValidateCandidatesReadback ( )
inlineprotectedinherited

Returns
Must be disposed.

Definition at line 107 of file ADispatcherRS.cs.

Member Data Documentation

◆ computeShader

readonly ComputeShader ClusteringAlgorithms.ADispatcher.computeShader
inherited

Definition at line 28 of file ADispatcher.cs.

◆ kernelHandleRandomSwap

readonly int ClusteringAlgorithms.ADispatcherRS.kernelHandleRandomSwap
protectedinherited

Definition at line 29 of file ADispatcherRS.cs.

◆ kernelHandleValidateCandidates

readonly int ClusteringAlgorithms.ADispatcherRS.kernelHandleValidateCandidates
protectedinherited

Definition at line 30 of file ADispatcherRS.cs.

◆ parameters

readonly Parameters ClusteringAlgorithms.ADispatcherRS.parameters
protectedinherited

Definition at line 24 of file ADispatcherRS.cs.

Property Documentation

◆ abstractParameters

override DispatcherParameters ClusteringAlgorithms.ADispatcherRS.abstractParameters
getinherited

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 25 of file ADispatcherRS.cs.

◆ clusteringRTsAndBuffers

ClusteringRTsAndBuffers ClusteringAlgorithms.ADispatcher.clusteringRTsAndBuffers
getinherited

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 11 of file ADispatcher.cs.

◆ doesReadback

override bool ClusteringAlgorithms.DispatcherRSstopCondition.doesReadback
get

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 24 of file DispatcherRSstopCondition.cs.

◆ doRandomizeEmptyClusters

bool ClusteringAlgorithms.ADispatcher.doRandomizeEmptyClusters
getinherited

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 9 of file ADispatcher.cs.

◆ name

override string ClusteringAlgorithms.DispatcherRSstopCondition.name
get

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 28 of file DispatcherRSstopCondition.cs.

◆ numIterations

int ClusteringAlgorithms.ADispatcher.numIterations
getinherited

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 10 of file ADispatcher.cs.

◆ useFullResTexRef

bool ClusteringAlgorithms.ADispatcher.useFullResTexRef
getinherited

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 150 of file ADispatcher.cs.

◆ usesStopCondition

override bool ClusteringAlgorithms.DispatcherRSstopCondition.usesStopCondition
get

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 26 of file DispatcherRSstopCondition.cs.

◆ warningCounter

int ClusteringAlgorithms.ADispatcher.warningCounter
getinherited

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 21 of file ADispatcher.cs.


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