BufferManager
Direct Subclass:
BufferManager keeps track of (CPU side) buffers, these buffers are eventually flushed to the GPU.
This class should be considered abstract. It contains all code that is shared by the implementations:
- BufferManagerPerColor (keeps a buffer alive per unique color)
BufferManagerTransparencyOnly (keeps two buffers alive, one for opaque objects and one for transparent)
Because of allocation costs, buffers are reused. Flushed buffers will reset their indices (resetBuffer), subsequently overwriting old data.
Constructor Summary
Public Constructor | ||
public |
|
Member Summary
Public Members | ||
public |
|
|
public |
|
|
public |
bufferSets: * |
|
public |
|
|
public |
defaultSizes: {"vertices": *, "normals": *, "indices": *, "lineIndices": *, "colors": *, "pickColors": *} |
|
public |
|
|
public |
renderer: * |
|
public |
settings: * |
|
public |
viewer: * |
Method Summary
Public Methods | ||
public |
clear() |
|
public |
createBufferSet(hasTransparency: *, color: *, sizes: *): * |
|
public |
createBufferSetPooled(hasTransparency: *, color: *, sizes: *): * |
|
public |
getAllBuffers(): * |
|
public |
getBufferSet(transparency: *, color: *, sizes: *): * |
|
public |
getDefaultByteSize(): * |
|
public |
resetBuffer(bufferSet: *) |
|
public |
shouldFlush(sizes: *, buffer: *): * |
Public Constructors
public constructor() source
Public Members
public bufferSetPool: * source
public bufferSets: * source
public defaultSizes: {"vertices": *, "normals": *, "indices": *, "lineIndices": *, "colors": *, "pickColors": *} source
public renderer: * source
public settings: * source
public viewer: * source
Public Methods
public clear() source
public createBufferSet(hasTransparency: *, color: *, sizes: *): * source
Params:
Name | Type | Attribute | Description |
hasTransparency | * | ||
color | * | ||
sizes | * |
Return:
* |
public createBufferSetPooled(hasTransparency: *, color: *, sizes: *): * source
Params:
Name | Type | Attribute | Description |
hasTransparency | * | ||
color | * | ||
sizes | * |
Return:
* |
public getBufferSet(transparency: *, color: *, sizes: *): * source
Params:
Name | Type | Attribute | Description |
transparency | * | ||
color | * | ||
sizes | * |
Return:
* |
public resetBuffer(bufferSet: *) source
Params:
Name | Type | Attribute | Description |
bufferSet | * |
public shouldFlush(sizes: *, buffer: *): * source
Params:
Name | Type | Attribute | Description |
sizes | * | ||
buffer | * |
Return:
* |