Difference between revisions of "Tips for Verge3D devs"

From Verge3D Wiki
Jump to navigationJump to search
Line 74: Line 74:
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
! Software !! Release year !! Python version !! Build Requirements
! Software !! Release year !! Python version !! Build requirements / Notes
|-
|-
| Blender 2.80 || 2019 || 3.7.0 ||
| Blender 2.80 || 2019 || 3.7.0 ||
Line 80: Line 80:
| Blender 2.81 || 2019 || 3.7.4 ||
| Blender 2.81 || 2019 || 3.7.4 ||
|-
|-
| Blender 2.82 || 2020 || 3.7.4 ||
| Blender 2.82 || 2020 || 3.7.4 || Ubuntu 20.04
|-
|-
| Blender 2.83 LTS || 2020 || 3.7.4 ||
| Blender 2.83 LTS || 2020 || 3.7.4 ||

Revision as of 14:33, 27 November 2021

This page contains random tips and code snippets that Verge3D devs or Verge3D DevKit users may find useful for their work.

Getting v3d namespace from iframe

document.getElementsByTagName("iframe")[0].contentWindow.v3d

e.g. to print performance profile from the iframe:

document.getElementsByTagName("iframe")[0].contentWindow.v3d.apps[0].printPerformanceInfo()

or to enable FPS counter:

document.getElementsByTagName("iframe")[0].contentWindow.v3d.apps[0].showFPS()

Debugging Verge3D render target

Use the following code to create a plane with the output of the given render target:

// DONT FORGET TO REMOVE IT!
var texture = renderTarget.texture
var geometry = new v3d.PlaneBufferGeometry(3, 3);
var material = new v3d.MeshBasicMaterial();
material.map = texture;
var planeMesh = new v3d.Mesh(geometry, material);
planeMesh.position.x = 6;
v3d.apps[0].scene.add(planeMesh);

Code Indentation Style

The K&R style, 4 spaces:

function someFun() {
    const someConst = 10;
    const alwaysTrue = true;

    for (let i = 0; i < someConst; i++) {
        if (alwaysTrue) {
            console.log(`Hello ${i}!`);
        }
    }
}

Key Triplets

There are several key triplets supported by Verge3D which are useful for debugging. To execute a triplet, wait until a Verge3D app finishes its loading, then press the same key thrice very quickly.

  • PPP — print performance profile. See here for more info.
  • FFF — show/hide FPS counter in the upper left corner of the rendered canvas.
  • HHH — halt/continue application rendering.

Short Links

These short links can be very helpful for debugging mobile devices.

Supported modelling suites

Software Release year Python version Build requirements / Notes
Blender 2.80 2019 3.7.0
Blender 2.81 2019 3.7.4
Blender 2.82 2020 3.7.4 Ubuntu 20.04
Blender 2.83 LTS 2020 3.7.4
Blender 2.90 2020 3.7.7
Blender 2.91 2020 3.7.7
Blender 2.92 2021 3.7.7
Blender 2.93 LTS 2021 3.9.2
Blender 3.0 2021 3.9.7
3ds Max 2019 2018 2.7.12 VS 2015 Update 3, Platform Toolset v140, Windows SDK 10.0.10586
3ds Max 2020 2019 2.7.15 VS 2017, Platform Toolset v141, Windows SDK 10.0.17134.0
3ds Max 2021 2020 3.7.6 VS 2017, Platform Toolset v141, Windows SDK 10.0.17134.0
3ds Max 2022 2021 3.7.9 VS 2017, Platform Toolset v141, Windows SDK 10.0.17134.0
Maya 2018 2017 2.7.11
Maya 2019 2018 2.7.11
Maya 2020 2019 2.7.11
Maya 2022 2021 3.7.7