How to get updated buffer attributes in ThreejsUpdating ShaderMaterial attribute in three.jsGeometries on vertex of BufferGeometry in Three.jsThree.js BufferGeometry.toJSON - Why are the Attribute data not exported?ThreeJS: PlaneBufferGeometry, raycasting and facesTHREE.JS glDrawElements: attempt to access out of range vertices in attribute 1Three.js BufferGeometry face colors blurringGetting the vertex coordinate of a BufferGeometry transformed in vertex shaderThree.js indexed BufferGeometry vs. InstancedBufferGeometryTHREEJS - Indexed BufferGeometry with 2 materialsTHREEJS - Buffer geometry with custom UV mapping
Are differences between uniformly distributed numbers uniformly distributed?
What ability do tools use?
Do beef farmed pastures net remove carbon emissions?
Heating Margarine in Pan = loss of calories?
Should I ask for permission to write an expository post about someone else's research?
Why isn’t SHA-3 in wider use?
How to create events observer that only call when REST api dispatch events?
Lethal damage while controlling Sower of Discord?
On math looking obvious in retrospect
Why did I get only 5 points even though I won?
Can the ground attached to neutral fool a receptacle tester?
What is a good class if we remove subclasses?
How does "Te vas a cansar" mean "You're going to get tired"?
A torrent of foreign terms
How much maintenance time did it take to make an F4U Corsair ready for another flight?
Simplification of numbers
0xF1 opcode-prefix on i80286
How to remove threat that antivirus program indicates has to be manually deleted?
A continuous water "planet" ring around a star
Google - OR tools for workforce scheduling problems
Why command hierarchy, if the chain of command is standing next to each other?
Voltage across a resistor
Visa National - No Exit Stamp From France on Return to the UK
Annotating a table with arrows
How to get updated buffer attributes in Threejs
Updating ShaderMaterial attribute in three.jsGeometries on vertex of BufferGeometry in Three.jsThree.js BufferGeometry.toJSON - Why are the Attribute data not exported?ThreeJS: PlaneBufferGeometry, raycasting and facesTHREE.JS glDrawElements: attempt to access out of range vertices in attribute 1Three.js BufferGeometry face colors blurringGetting the vertex coordinate of a BufferGeometry transformed in vertex shaderThree.js indexed BufferGeometry vs. InstancedBufferGeometryTHREEJS - Indexed BufferGeometry with 2 materialsTHREEJS - Buffer geometry with custom UV mapping
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
When i apply a matrix to a buffergeometry
I want to get the updated position attributes fast , i am dealing with 1000000+ vertex .
I have tried Matrix4.applyToBufferAttribute() , but the buffer attribute is still the same
What is the most proper way to perform this ?
three.js
add a comment |
When i apply a matrix to a buffergeometry
I want to get the updated position attributes fast , i am dealing with 1000000+ vertex .
I have tried Matrix4.applyToBufferAttribute() , but the buffer attribute is still the same
What is the most proper way to perform this ?
three.js
add a comment |
When i apply a matrix to a buffergeometry
I want to get the updated position attributes fast , i am dealing with 1000000+ vertex .
I have tried Matrix4.applyToBufferAttribute() , but the buffer attribute is still the same
What is the most proper way to perform this ?
three.js
When i apply a matrix to a buffergeometry
I want to get the updated position attributes fast , i am dealing with 1000000+ vertex .
I have tried Matrix4.applyToBufferAttribute() , but the buffer attribute is still the same
What is the most proper way to perform this ?
three.js
three.js
asked Mar 27 at 9:02
Rayan ArfawiRayan Arfawi
34 bronze badges
34 bronze badges
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I have tried Matrix4.applyToBufferAttribute() , but the buffer attribute is still the same
Then it seems you are doing something wrong in your application. Matrix4.applyToBufferAttribute() does apply the matrix to the given attribute. The method is used multiple times in the core of three.js for example in BufferGeometry.applyMatrix():
https://github.com/mrdoob/three.js/blob/9f7f38b543c8a51d5614b72c04d657a4cfad68da/src/core/BufferGeometry.js#L141-L142
Ensure to set BufferAttribute.needsUpdate to true after the method invocation. And yes, it's the intended way to apply a 4x4 transformation matrix to a buffer attribute.
Does theBufferAttribute.needsUpdate = truechange the buffer in the gpu ?
– Rayan Arfawi
Mar 27 at 10:47
Correct. When set totrue, it indicates the engine to update the actual WebGL buffer.
– Mugen87
Mar 27 at 10:47
when i logmeshes[1].applyMatrix(mat);before it and after it i get the same values sameMesh.matrix, sameMesh.geometry.attributes.position, is this normal ?
– Rayan Arfawi
Mar 28 at 6:33
Mesh.matrixshould be identical. The attribute data should actually change. Can you please demonstrate the issue with a live example?
– Mugen87
Mar 28 at 10:57
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55373282%2fhow-to-get-updated-buffer-attributes-in-threejs%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I have tried Matrix4.applyToBufferAttribute() , but the buffer attribute is still the same
Then it seems you are doing something wrong in your application. Matrix4.applyToBufferAttribute() does apply the matrix to the given attribute. The method is used multiple times in the core of three.js for example in BufferGeometry.applyMatrix():
https://github.com/mrdoob/three.js/blob/9f7f38b543c8a51d5614b72c04d657a4cfad68da/src/core/BufferGeometry.js#L141-L142
Ensure to set BufferAttribute.needsUpdate to true after the method invocation. And yes, it's the intended way to apply a 4x4 transformation matrix to a buffer attribute.
Does theBufferAttribute.needsUpdate = truechange the buffer in the gpu ?
– Rayan Arfawi
Mar 27 at 10:47
Correct. When set totrue, it indicates the engine to update the actual WebGL buffer.
– Mugen87
Mar 27 at 10:47
when i logmeshes[1].applyMatrix(mat);before it and after it i get the same values sameMesh.matrix, sameMesh.geometry.attributes.position, is this normal ?
– Rayan Arfawi
Mar 28 at 6:33
Mesh.matrixshould be identical. The attribute data should actually change. Can you please demonstrate the issue with a live example?
– Mugen87
Mar 28 at 10:57
add a comment |
I have tried Matrix4.applyToBufferAttribute() , but the buffer attribute is still the same
Then it seems you are doing something wrong in your application. Matrix4.applyToBufferAttribute() does apply the matrix to the given attribute. The method is used multiple times in the core of three.js for example in BufferGeometry.applyMatrix():
https://github.com/mrdoob/three.js/blob/9f7f38b543c8a51d5614b72c04d657a4cfad68da/src/core/BufferGeometry.js#L141-L142
Ensure to set BufferAttribute.needsUpdate to true after the method invocation. And yes, it's the intended way to apply a 4x4 transformation matrix to a buffer attribute.
Does theBufferAttribute.needsUpdate = truechange the buffer in the gpu ?
– Rayan Arfawi
Mar 27 at 10:47
Correct. When set totrue, it indicates the engine to update the actual WebGL buffer.
– Mugen87
Mar 27 at 10:47
when i logmeshes[1].applyMatrix(mat);before it and after it i get the same values sameMesh.matrix, sameMesh.geometry.attributes.position, is this normal ?
– Rayan Arfawi
Mar 28 at 6:33
Mesh.matrixshould be identical. The attribute data should actually change. Can you please demonstrate the issue with a live example?
– Mugen87
Mar 28 at 10:57
add a comment |
I have tried Matrix4.applyToBufferAttribute() , but the buffer attribute is still the same
Then it seems you are doing something wrong in your application. Matrix4.applyToBufferAttribute() does apply the matrix to the given attribute. The method is used multiple times in the core of three.js for example in BufferGeometry.applyMatrix():
https://github.com/mrdoob/three.js/blob/9f7f38b543c8a51d5614b72c04d657a4cfad68da/src/core/BufferGeometry.js#L141-L142
Ensure to set BufferAttribute.needsUpdate to true after the method invocation. And yes, it's the intended way to apply a 4x4 transformation matrix to a buffer attribute.
I have tried Matrix4.applyToBufferAttribute() , but the buffer attribute is still the same
Then it seems you are doing something wrong in your application. Matrix4.applyToBufferAttribute() does apply the matrix to the given attribute. The method is used multiple times in the core of three.js for example in BufferGeometry.applyMatrix():
https://github.com/mrdoob/three.js/blob/9f7f38b543c8a51d5614b72c04d657a4cfad68da/src/core/BufferGeometry.js#L141-L142
Ensure to set BufferAttribute.needsUpdate to true after the method invocation. And yes, it's the intended way to apply a 4x4 transformation matrix to a buffer attribute.
edited Mar 27 at 10:44
answered Mar 27 at 9:24
Mugen87Mugen87
5,4812 gold badges6 silver badges25 bronze badges
5,4812 gold badges6 silver badges25 bronze badges
Does theBufferAttribute.needsUpdate = truechange the buffer in the gpu ?
– Rayan Arfawi
Mar 27 at 10:47
Correct. When set totrue, it indicates the engine to update the actual WebGL buffer.
– Mugen87
Mar 27 at 10:47
when i logmeshes[1].applyMatrix(mat);before it and after it i get the same values sameMesh.matrix, sameMesh.geometry.attributes.position, is this normal ?
– Rayan Arfawi
Mar 28 at 6:33
Mesh.matrixshould be identical. The attribute data should actually change. Can you please demonstrate the issue with a live example?
– Mugen87
Mar 28 at 10:57
add a comment |
Does theBufferAttribute.needsUpdate = truechange the buffer in the gpu ?
– Rayan Arfawi
Mar 27 at 10:47
Correct. When set totrue, it indicates the engine to update the actual WebGL buffer.
– Mugen87
Mar 27 at 10:47
when i logmeshes[1].applyMatrix(mat);before it and after it i get the same values sameMesh.matrix, sameMesh.geometry.attributes.position, is this normal ?
– Rayan Arfawi
Mar 28 at 6:33
Mesh.matrixshould be identical. The attribute data should actually change. Can you please demonstrate the issue with a live example?
– Mugen87
Mar 28 at 10:57
Does the
BufferAttribute.needsUpdate = true change the buffer in the gpu ?– Rayan Arfawi
Mar 27 at 10:47
Does the
BufferAttribute.needsUpdate = true change the buffer in the gpu ?– Rayan Arfawi
Mar 27 at 10:47
Correct. When set to
true, it indicates the engine to update the actual WebGL buffer.– Mugen87
Mar 27 at 10:47
Correct. When set to
true, it indicates the engine to update the actual WebGL buffer.– Mugen87
Mar 27 at 10:47
when i log
meshes[1].applyMatrix(mat); before it and after it i get the same values same Mesh.matrix , same Mesh.geometry.attributes.position , is this normal ?– Rayan Arfawi
Mar 28 at 6:33
when i log
meshes[1].applyMatrix(mat); before it and after it i get the same values same Mesh.matrix , same Mesh.geometry.attributes.position , is this normal ?– Rayan Arfawi
Mar 28 at 6:33
Mesh.matrix should be identical. The attribute data should actually change. Can you please demonstrate the issue with a live example?– Mugen87
Mar 28 at 10:57
Mesh.matrix should be identical. The attribute data should actually change. Can you please demonstrate the issue with a live example?– Mugen87
Mar 28 at 10:57
add a comment |
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55373282%2fhow-to-get-updated-buffer-attributes-in-threejs%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown