Browse Source

added setDataType setter function and corresponding private vars

Jono 5 years ago
parent
commit
1508d747b6

+ 2 - 0
examples/jsm/misc/GPUComputationRenderer.d.ts

@@ -26,6 +26,8 @@ export class GPUComputationRenderer {
 
 	constructor( sizeX: number, sizeY: number, renderer: WebGLRenderer );
 
+	setDataType ( type: TextureDataType ): void;
+
 	addVariable( variableName: string, computeFragmentShader: string, initialValueTexture: Texture ): Variable;
 	setVariableDependencies( variable: Variable, dependencies: Variable[] | null ): void;
 

+ 10 - 2
examples/jsm/misc/GPUComputationRenderer.js

@@ -102,7 +102,6 @@ import {
 	ClampToEdgeWrapping,
 	DataTexture,
 	FloatType,
-	HalfFloatType,
 	Mesh,
 	NearestFilter,
 	PlaneBufferGeometry,
@@ -118,6 +117,8 @@ var GPUComputationRenderer = function ( sizeX, sizeY, renderer ) {
 
 	this.currentTextureIndex = 0;
 
+	var dataType = FloatType;
+
 	var scene = new Scene();
 
 	var camera = new Camera();
@@ -133,6 +134,13 @@ var GPUComputationRenderer = function ( sizeX, sizeY, renderer ) {
 	scene.add( mesh );
 
 
+	this.setDataType = function ( type ) {
+
+		dataType = type;
+		return this;
+
+	};
+
 	this.addVariable = function ( variableName, computeFragmentShader, initialValueTexture ) {
 
 		var material = this.createShaderMaterial( computeFragmentShader );
@@ -325,7 +333,7 @@ var GPUComputationRenderer = function ( sizeX, sizeY, renderer ) {
 			minFilter: minFilter,
 			magFilter: magFilter,
 			format: RGBAFormat,
-			type: ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) ? HalfFloatType : FloatType,
+			type: dataType,
 			stencilBuffer: false,
 			depthBuffer: false
 		} );