添加关照、全局等高线、修改图层问题
This commit is contained in:
		
							
								
								
									
										93
									
								
								static/sdk/three/jsm/renderers/webgpu/utils/WebGPUUtils.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								static/sdk/three/jsm/renderers/webgpu/utils/WebGPUUtils.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,93 @@ | ||||
| import { GPUPrimitiveTopology, GPUTextureFormat } from './WebGPUConstants.js'; | ||||
|  | ||||
| class WebGPUUtils { | ||||
|  | ||||
| 	constructor( backend ) { | ||||
|  | ||||
| 		this.backend = backend; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	getCurrentDepthStencilFormat( renderContext ) { | ||||
|  | ||||
| 		let format; | ||||
|  | ||||
| 		if ( renderContext.depthTexture !== null ) { | ||||
|  | ||||
| 			format = this.getTextureFormatGPU( renderContext.depthTexture ); | ||||
|  | ||||
| 		} else if ( renderContext.depth && renderContext.stencil ) { | ||||
|  | ||||
| 			format = GPUTextureFormat.Depth24PlusStencil8; | ||||
|  | ||||
| 		} else if ( renderContext.depth ) { | ||||
|  | ||||
| 			format = GPUTextureFormat.Depth24Plus; | ||||
|  | ||||
| 		} | ||||
|  | ||||
| 		return format; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	getTextureFormatGPU( texture ) { | ||||
|  | ||||
| 		return this.backend.get( texture ).texture.format; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	getCurrentColorFormat( renderContext ) { | ||||
|  | ||||
| 		let format; | ||||
|  | ||||
| 		if ( renderContext.textures !== null ) { | ||||
|  | ||||
| 			format = this.getTextureFormatGPU( renderContext.textures[ 0 ] ); | ||||
|  | ||||
|  | ||||
| 		} else { | ||||
|  | ||||
| 			format = GPUTextureFormat.BGRA8Unorm; // default context format | ||||
|  | ||||
| 		} | ||||
|  | ||||
| 		return format; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	getCurrentColorSpace( renderContext ) { | ||||
|  | ||||
| 		if ( renderContext.textures !== null ) { | ||||
|  | ||||
| 			return renderContext.textures[ 0 ].colorSpace; | ||||
|  | ||||
| 		} | ||||
|  | ||||
| 		return this.backend.renderer.outputColorSpace; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	getPrimitiveTopology( object, material ) { | ||||
|  | ||||
| 		if ( object.isPoints ) return GPUPrimitiveTopology.PointList; | ||||
| 		else if ( object.isLineSegments || ( object.isMesh && material.wireframe === true ) ) return GPUPrimitiveTopology.LineList; | ||||
| 		else if ( object.isLine ) return GPUPrimitiveTopology.LineStrip; | ||||
| 		else if ( object.isMesh ) return GPUPrimitiveTopology.TriangleList; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	getSampleCount( renderContext ) { | ||||
|  | ||||
| 		if ( renderContext.textures !== null ) { | ||||
|  | ||||
| 			return renderContext.sampleCount; | ||||
|  | ||||
| 		} | ||||
|  | ||||
| 		return this.backend.parameters.sampleCount; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
| export default WebGPUUtils; | ||||
		Reference in New Issue
	
	Block a user