User posts Daniel Klepel
11 October 2017 19:12
or perhaps (as alternative) the possibility to supply vertex-color data to the dynamic geometry?
@ Emotional3D
11 October 2017 16:45
Hi @ll,
Is there a way to apply texture coordinates to the dynamically/programmatically created geometry, too?
Hearing Dmitry stating: "giving the ability to use procedural geometry in scenes", gives me hope that this is an active topic/area of development of the Blend4Web-Engine (?).

In the API, I found only
m_geometry.update_vertex_array(obj, mat_name, attrib_name, array)

with "a_position", "a_tbn" (tangent-binormal-normal?) and "a_normal" as possible attrib_name attribute names, the engine-source code of that function showed as well only handling of those three attribute types.

Is there a way or workaround to set the texture-coordinates for each vertex in that dynamic geometry? / Support for the "a_texcoord"-attribute?

Looking forward for any insight,

Cheers, Daniel.
@ Emotional3D
08 July 2016 12:35
Hi @ll,

Currently it seems like SSAO can only be enabled / (disabled) on initalization.
There is the set_ssao_params API in scenes module, but it doesn't have an option for general deactivation / activation (?).

It would be nice to be able to switch the effect on runtime.
For example you could have a detail view that requires SSAO and in the same scene an overview that is too resource heavy to use SSAO.

Or is there already a way to achieve this?
The current documentation on ssao_params doesn't give any information on possible parameters.


@ Emotional3D
04 July 2016 14:35
Hi @ll,

we noticed a drop in framerate, switching from version 16.05 to 16.06.
Appart from adding a VectorTransform-node to some chairs, to adjust to the coordinate-space-changes, there were no modifications to the scene (Some chairs still look wrong, because their shaders haven't been updated yet).


On more powerful test-systems there was a performance drop from 60 to 50 fps,
while less powerful systems had a noticeable drop from 50 to 25 fps.

Could it have something to do with the changes to SSAO or anisotropic filtering?

@ Emotional3D
29 June 2016 11:19
Hi Konstantin,

as you have mentioned in Post #10028:
for now there is no API method to change camera frustum planes. 

and in Post #10049:
The projection matrix isn't accessible in our engine

there is, unfortunately, no way "tile-based high-resolution-image-rendering" and "advanced image-cropping with control over resolution" will be possible with the Blend4Web-Engine.

Setting camera fov (and or camera-position) won't get the right perspective for a tile in a way that they could get assembled to a whole without perspective kinks in the resulting image.

We have to search for another solution, then.

Cheers, Daniel.

@ Emotional3D
10 June 2016 13:25
Thank you Konstantin, for your detailed anwer.

Changing the Object-Rendering-Property to 'is Dynamic Geometry' will have an impact in Memory usage and performance, right?
(Bigger memory footprint / the object-mesh-data maintains in main-memory? Perhaps less fps, too?)
@ Emotional3D
09 June 2016 15:38
Thank you Konstantin, for trying to help.
@ Emotional3D
09 June 2016 13:49
, beside other usages like 'image-cropping' for exact control over the final image and its resolution.
@ Emotional3D
09 June 2016 13:33
With a custom camera frustum it would be possible for us to generate e.g. very high-res images by tiling the original camera-frustum into a grid and render each tile separately.
@ Emotional3D
09 June 2016 13:14
Hi @ll,

exist there already some functionality in the Blend4Web-Engine for obtaining the camera-aligned Bounding-Box of an object in viewport/canvas coordinates?

The closest path to a solution I found would be to project each object-vertex-point to canvas
m_camera.project_point(camobj, point3D, destCanvas2D)

This would require to access object-vertice in world-space coordinates. How could I access them?

A more optimal approach would be to gain access to the already 'Model-, View-, Projection-Matrix' transformed vertex-data of an object. Is there a way to intercept / tap into, or an example or hint to the right corner in the Blend4Web-Engine, to recreate the transformation (or access the data)?

Perhaps there exists already a function or a similar (internal) feature, but I couldn't find it, yet. Please help.

Cheers, Daniel.

@ Emotional3D