Hi,
a quick update - the 24bit (and even just the 16bit) depthmap images work very well, much more accuracy.
Support for these images will be there in the next release (1.20.8).
Best regards,
Klaus
Very good news, thank you Klaus!
Roberto
Hi,
a quick update - the 24bit (and even just the 16bit) depthmap images work very well, much more accuracy.
Support for these images will be there in the next release (1.20.8).
Best regards,
Klaus
Very good news, thank you Klaus!
Roberto
I will make a version to generate only 16 bits ( Green and Blue, 65,536 depth units ) depthmaps to see if it could bring good results and better performance.
Files with 16 bits, are on the BGR_depthmaps folder.
Internally in krpano I'm storing the 24bit depthmap RGB images in a different order - RED = most significant byte and BLUE = less significant.
Klaus, thank you for your response! I have generated new files with RED = most significant byte and BLUE = less significant, 1024 width. Please see BGR_depthmaps folder.
I know a model can bring better results. A day of scanner work can generate more than 100 scenes. With 24bit depthmap RGB images I can generate it automatically.
I will make a version to generate only 16 bits ( Green and Blue, 65,536 depth units ) depthmaps to see if it could bring good results and better performance.
Please, let me know if you want more info or samples
Thank you
Roberto
Hello Klaus, thank you for the Krpano program. This message will be a little bit longer
I made a program to generate an image depthmap the from laser scanner 32 bits float depthmap. The 8 bits depth limit is a big problem. Please see the images bellow.
I understood that krpano generates a 24 bits depthmap internally from stl. Could Krpano read the depthmap from a 24 bits RGB PNG as a 24 bits depthmap?
https://krpano.com/forum/wbb/inde…79766#post79766
I generated PNG depthmap using the RGB to code a 24 bits integer representing 16,777,216 units of depth. BLUE store the most significant byte and RED the less significant.
Could you consider making krpano able to read depthmaps from a color PNG file generated like this?
The files I generated can be download from here. Please let me know if you want more examples or the files generated in other way.
Bellow some images to illustrate the problems with 8 bits depthmaps. I did not yet upgrade my brand free license to the new version ...
In this scene, the maximum distance is around 29 m, when mapped to only 256 values allowed by 8 bits it, one unit is ~ 0.1133 m this results in strange artifacts as showed:
Limiting the max distance to 7.00 m makes one unit ~ 0.027 m. The artifacts are reduced but not eliminated and this introduces errors beyond 7.00 meters.
After 7 m it becomes like a sphere
Above, we can see the borders distorted as a sphere. Bellow, the full 29m range, but with larger artifacts
The pano are:
And an PNG BW 16 bits gray
Technically supporting higher bit-depths for the depth-map image is not the problem, when using DEPTH or STL files and using the rendermode="depthmap" setting krpano internally also generates a 24bit depthmap image for rendering.
Klaus, what is the resolution of the internally generated 24bit dephtmap? 1024x512 ?
It is generated when the pano are loaded, right?
Could it be possible to write a krpano plugin to generate this internally generated 24bit dephtmap from some external data?
Thank you
Roberto
Hi
I'm testing an auto change scene when in autorotate for more than 15 seconds. I played with KEEPMOVING and KEEPVIEW but it appears that there is no difference when I use KEEPVIEW
Also, when not in autorotate, and manually change the scene, having KEEPMOVING on skin_settings
it acts as it was KEEPVIEW !
I want KEEPMOVING but not KEEPVIEW. I want the new loaded scene to look at the scene view settings.
Is it a known bug? Could you recommend a workaround?
Thank you
Roberto
Ok, cannot, so I did as the others items
<item name="fs" caption="[div style=[sq]text-align:left; display:inline;[sq] /]Full Screen [/div/][div style=[sq]float:right; text-align:right; display:inline;[sq] /] F [/div/]" onclick="switch(fullscreen);" devices="fullscreensupport" />
And add 2 events to change caption
<events "
onenterfullscreen.fullscreensupport="set(contextmenu.item[fs].caption, '[div style=[sq]text-align:left; display:inline;[sq] /]Exit Full Screen [/div/][div style=[sq]float:right; text-align:right; display:inline;[sq] /] F [/div/]');"
onexitfullscreen.fullscreensupport="set(contextmenu.item[fs].caption, '[div style=[sq]text-align:left; display:inline;[sq] /]Full Screen [/div/][div style=[sq]float:right; text-align:right; display:inline;[sq] /] F [/div/]');"
/>
Worked
Hi, I tried to set up a special format for FULLSCREEN CONTEXTMENU caption but it did not work. It just displayed the text as was.
enterfs="[div style=[sq]text-align:left; display:inline;[sq] /]Full Screen [/div/][div style=[sq]float:right; text-align:right; display:inline;[sq] /] F [/div/]"
For others items on my menu this worked very well. I wonder, it is not possible to use HTML on enterf or exitfs attributes?
Thank you
Roberto
Hi, its appear that some functions on krpano 1.19-pr8 is not working. I wonder if it is not yet implemented or did I made some mistake.
stoplookto()
stopmovements()
showlog()
I'm calling then from inside a plugin, like:
krpano = krpanointerface;
...
krpano.showlog(true);
krpano.stoplookto();
krpano.stopmovements();
Display More
Thank you
Roberto
Hello
I changed the load_object_json() function to be able to load all materials defined on the json file and stored the scene object.
So, I can access and modify parameters from KRPANO XML file:
copy(obj, plugin[threejs].obj[3D/LONDON/LONDON.js]);
set(obj.properties.ath, 14.5); set(obj.properties.atv, 21.5); set(obj.properties.depth, 270); set(obj.properties.scale, 0.7);
set(obj.properties.rx, 0); set(obj.properties.ry, 130.0); set(obj.properties.rz, 180);
trace('OBJ.PROP.NAME : ', obj.properties.name);
trace('OBJ.PROP.ATH : ', obj.properties.ath);
plugin[threejs].update_object_properties(get(obj));
function load_object_json(url, animated, properties, donecall)
{
var nm = url;
url = resolve_url_path(url);
var loader = new THREE.JSONLoader();
loader.load(url, function (geometry, materials)
{
///var material = materials[0];
if (animated)
{
///material.morphTargets = true;
///material.morphNormals = true;
for (key in materials) { // Example from: http://stackoverflow.com/questions/9329446/for-each-over-an-array-in-javascript
if (materials.hasOwnProperty(key) && // These are explained
/^0$|^[1-9]\d*$/.test(key) && // and then hidden
key <= 4294967294 // away below
) {
materials[key].morphTargets = true;
materials[key].morphNormals = true;
}
}
geometry.computeMorphNormals();
}
var material = new THREE.MeshFaceMaterial( materials );
geometry.computeVertexNormals();
var obj = new THREE.MorphAnimMesh(geometry, material);
if (animated)
{
obj.duration = 5000;
obj.time = 0;
obj.matrixAutoUpdate = false;
animatedobjects.push(obj);
}
assign_object_properties(obj, url, properties);
krpano.set("plugin[threejs].obj[" + nm + "]", obj);
scene.add( obj );
if (donecall)
{
donecall(obj);
}
});
}
Display More
Also, at the end of the start() function, I added:
It worked but, transparent parts appears into some mesh.
I tried to update the file three.min.js to a new version but did not work. Some one was able to successfully update this file? Any tips?
Thank You
Roberto