Material Clustering Benchmark
ClusteringAlgorithms.DispatcherKHMp Class Reference
Inheritance diagram for ClusteringAlgorithms.DispatcherKHMp:
ClusteringAlgorithms.ASimpleDispatcer ClusteringAlgorithms.ADispatcher ClusteringAlgorithms.IDispatcher

Classes

class  Parameters
 

Public Member Functions

void AttributeClustersKHM (ClusteringTextures clusteringTextures, float p)
 
void AttributeClustersKM (ClusteringTextures clusteringTextures)
 
 DispatcherKHMp (ComputeShader computeShader, int numIterations, bool doRandomizeEmptyClusters, bool useFullResTexRef, 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)
 Each iteration first attributes pixels to clusters, then updates cluster centers. In order to use the resulting cluster centers, one final cluster attribution is required! More...
 
override void SingleIteration (ClusteringTextures textures)
 
void UpdateClusterCenters (ClusteringTextures clusteringTextures, bool rejectOld)
 

Public Attributes

readonly ComputeShader computeShader
 

Protected Member Functions

void KHMiteration (ClusteringTextures textures)
 First attributes pixels to clusters. Then updates cluster centers. In order to use the resulting cluster centers, one final cluster attribution is required! More...
 

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 6 of file DispatcherKHMp.cs.

Constructor & Destructor Documentation

◆ DispatcherKHMp()

ClusteringAlgorithms.DispatcherKHMp.DispatcherKHMp ( ComputeShader  computeShader,
int  numIterations,
bool  doRandomizeEmptyClusters,
bool  useFullResTexRef,
Parameters  parameters,
ClusteringRTsAndBuffers  clusteringRTsAndBuffers 
)
inline

Definition at line 37 of file DispatcherKHMp.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.

◆ KHMiteration()

void ClusteringAlgorithms.DispatcherKHMp.KHMiteration ( ClusteringTextures  textures)
inlineprotected

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 78 of file DispatcherKHMp.cs.

◆ RunClustering()

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

Each iteration first attributes pixels to clusters, then updates cluster centers. In order to use the resulting cluster centers, one final cluster attribution is required!

Implements ClusteringAlgorithms.ADispatcher.

Definition at line 64 of file DispatcherKHMp.cs.

◆ SingleIteration()

override void ClusteringAlgorithms.DispatcherKHMp.SingleIteration ( ClusteringTextures  textures)
inlinevirtual

Implements ClusteringAlgorithms.ASimpleDispatcer.

Definition at line 84 of file DispatcherKHMp.cs.

◆ UpdateClusterCenters()

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

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 55 of file ADispatcher.cs.

Member Data Documentation

◆ computeShader

readonly ComputeShader ClusteringAlgorithms.ADispatcher.computeShader
inherited

Definition at line 28 of file ADispatcher.cs.

Property Documentation

◆ abstractParameters

override DispatcherParameters ClusteringAlgorithms.DispatcherKHMp.abstractParameters
get

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 33 of file DispatcherKHMp.cs.

◆ clusteringRTsAndBuffers

ClusteringRTsAndBuffers ClusteringAlgorithms.ADispatcher.clusteringRTsAndBuffers
getinherited

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 11 of file ADispatcher.cs.

◆ doesReadback

override bool ClusteringAlgorithms.DispatcherKHMp.doesReadback
get

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 32 of file DispatcherKHMp.cs.

◆ doRandomizeEmptyClusters

bool ClusteringAlgorithms.ADispatcher.doRandomizeEmptyClusters
getinherited

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 9 of file ADispatcher.cs.

◆ name

override string ClusteringAlgorithms.DispatcherKHMp.name
get

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 56 of file DispatcherKHMp.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.ASimpleDispatcer.usesStopCondition
getinherited

Implements ClusteringAlgorithms.IDispatcher.

Definition at line 24 of file ASimpleDispatcher.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: