Comments (5)
The solution is using the same approach like in WebGLCubeRenderTarget. Meaning applying the options to the newly created texture.
I'm wondering if it would be nice to have a texture.setValues
(or other name) function the way Material
has so setting these options is a bit more readable.
from three.js.
I wonder if we should just redefine the configuration options of both WebGL3DRenderTarget and WebGLArrayRenderTarget
My preference would be to not break a bunch of usages of WebGLRenderTarget for such a minor superficial change.
I've noticed something confusing. E.g. the default value of the minFilter option in the RenderTarget class is LinearFilter. DataArrayTexture however uses NearestFilter.
If we add something like a setValues
function it's fairly easy to default these to the expected LinearFilter
value:
this.texture = new DataTexture( null, width, height, depth )
this.texture.setValues( {
minFilter: LinearFilter,
magFilter: LinearFilter,
...options
} );
from three.js.
This is because of the following line:
Meaning the texture reference is redefined with a new instance. WebGL3DRenderTarget
has the same issue.
The solution is using the same approach like in WebGLCubeRenderTarget
. Meaning applying the options to the newly created texture.
from three.js.
I've noticed something confusing. E.g. the default value of the minFilter
option in the RenderTarget
class is LinearFilter
. DataArrayTexture
however uses NearestFilter
. If we would reuse the same default parameter preset for all type of render targets, we end up with misconfigured internal textures.
WebGL3DRenderTarget
and WebGLArrayRenderTarget
both rely on data textures so it seems both need a different preset for default options.
from three.js.
I wonder if we should just redefine the configuration options of both WebGL3DRenderTarget
and WebGLArrayRenderTarget
. When we added Data3DTexture
and DataArrayTexture
, we decided to avoid the large ctor signature known from Texture
. So if we just decide to decrease the number of properties you can set it options
, we wouldn't have to change anything. Devs are then required to do this:
target = new THREE.WebGLArrayRenderTarget( 1, 1, 1 );
target.texture.wrapS === THREE.RepeatWrapping;
instead of
target = new THREE.WebGLArrayRenderTarget( 1, 1, 1, { wrapS: THREE.RepeatWrapping } );
from three.js.
Related Issues (20)
- GLTFLoader addon is missing (import from examples?!) HOT 1
- Distortion of the model due to being too far from the origin HOT 2
- MapControls requires enableRotate=false on IOS HOT 1
- wrong z order when rendering material with alpha mode "BLEND" HOT 7
- It appears that the resources associated with DRACOLoader may not be completely released, leading to memory consumption issues HOT 4
- I wish an example for the outputStruct node HOT 3
- Adding postprocessing support to the three. js editor HOT 1
- WebGLRenderer.setSize cannot set properties of undefined (setting 'width') HOT 2
- Enhance target type for SpotLight and DirectionalLight HOT 1
- Build a grid through custom coordinates HOT 1
- `.equals` in class `Spherical` HOT 6
- FBXLoader loads default Unreal model with wrong rotation HOT 4
- Editor can't import glTF with .ktx2 textures HOT 1
- MRT needs a filter if there are several objects with different shader counts in the scene HOT 3
- File Export Whole Scene feature was removed 😨 HOT 2
- RectAreaLight passes through material HOT 6
- Editor: drop event in UIOutliner of ui.three.js not being call HOT 9
- Editor: Export GLB and GLTF fails to fetch HOT 2
- MeshToonMaterial support for WebGPU HOT 1
- why my scene can not showed fully, after wheel scale and drag? who can help me? thanks HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from three.js.