|
@@ -16,16 +16,16 @@ function getNextId() {
|
|
|
|
|
|
export type RenderData = { [k: string]: ValueCell<Helpers.TypedArray> }
|
|
|
|
|
|
-export interface BaseRenderObject { id: number, type: string, props: {}, visible: boolean, transparent: boolean }
|
|
|
+export interface BaseRenderObject { id: number, type: string, props: {} }
|
|
|
export interface MeshRenderObject extends BaseRenderObject { type: 'mesh', props: MeshRenderable.Props }
|
|
|
export interface PointRenderObject extends BaseRenderObject { type: 'point', props: PointRenderable.Props }
|
|
|
export type RenderObject = MeshRenderObject | PointRenderObject
|
|
|
|
|
|
export function createMeshRenderObject(props: MeshRenderable.Props): MeshRenderObject {
|
|
|
- return { id: getNextId(), type: 'mesh', props, visible: true, transparent: props.alpha < 1 }
|
|
|
+ return { id: getNextId(), type: 'mesh', props }
|
|
|
}
|
|
|
export function createPointRenderObject(props: PointRenderable.Props): PointRenderObject {
|
|
|
- return { id: getNextId(), type: 'point', props, visible: true, transparent: props.alpha < 1 }
|
|
|
+ return { id: getNextId(), type: 'point', props }
|
|
|
}
|
|
|
|
|
|
export function createRenderable(ctx: Context, o: RenderObject) {
|
|
@@ -73,12 +73,12 @@ namespace Scene {
|
|
|
},
|
|
|
eachOpaque: (callbackFn: (value: Renderable<any>, key: RenderObject) => void) => {
|
|
|
renderableMap.forEach((r, o) => {
|
|
|
- if (!o.transparent) callbackFn(r, o)
|
|
|
+ if (o.props.alpha === 1) callbackFn(r, o)
|
|
|
})
|
|
|
},
|
|
|
eachTransparent: (callbackFn: (value: Renderable<any>, key: RenderObject) => void) => {
|
|
|
renderableMap.forEach((r, o) => {
|
|
|
- if (o.transparent) callbackFn(r, o)
|
|
|
+ if (o.props.alpha < 1) callbackFn(r, o)
|
|
|
})
|
|
|
},
|
|
|
get count() {
|