• Pasi Keranen's avatar
    Cleanup and documenting more known issues. · 484040fd
    Pasi Keranen authored
    
    Moved typed array code to new subdirectory to make it more clear what parts are going to be removed in final release.
    Documented the temporary renaming of some of the methods to work around issues in overloaded function calls from JavaScript.
    
    Change-Id: I5a22741a3b4025149724df9d6b25abc4de3ff5bc
    Reviewed-by: default avatarPasi Keränen <pasi.keranen@digia.com>
    484040fd
To learn more about this project, read the wiki.
README 3.39 KiB
---------------------------------------
Qt Canvas 3D 1.0.0 Technology Preview 1
---------------------------------------

Qt Canvas 3D 1.0 module provides a QtQuick canvas component that can be used to render
with WebGL-like API from QtQuick JavaScript environment


System Requirements
===================

- Qt 5.3 or newer
- OpenGL 2.1 (or newer) or OpenGL ES2

Building
========
Configure the project with qmake:
    qmake

After running qmake, build the project with make:
    (Linux) make
    (Windows with MinGw) mingw32-make
    (Windows with Visual Studio) nmake
    (OSX) make

The above generates the default makefiles for your configuration, which is typically
the release build if you are using precompiled binary Qt distribution. To build both
debug and release, or one specifically, use one of the following qmake lines instead.

For debug builds:
    qmake CONFIG+=debug
    make
  or
    qmake CONFIG+=debug_and_release
    make debug

For release builds:
    qmake CONFIG+=release
    make
  or
    qmake CONFIG+=debug_and_release
    make release

For both builds (Windows/Mac only):
    qmake CONFIG+="debug_and_release build_all"
    make

After building, install the module to your Qt directory:
    make install

If you want to uninstall the module:
    make uninstall

Building as a statically linked library
=======================================

The same as above applies, you will just have to add static to the CONFIG:
    qmake CONFIG+=static

Documentation
=============

The documentation can be generated with:
    make docs

The documentation is generated into the doc folder under the build folder.
Both Qt Assistant (qtcanvas3d.qch) and in HTML format
(qtcanvas3d subfolder) documentation is generated.

Please refer to the generated documentation for more information:
    doc/qtcanvas3d/index.html

Known Issues
============
- QObject based TypedArray implementation is a temporary stop gap solution
  and will be removed from QtCanvas3D later on.
- Texturing does not work perfectly in all of the examples.
- Using Qt Quick Enterprise Controls buttons cause a crash on application exit
  on Windows in certain circumstances (try JSON Models Example for reference).
- Resizing window works incorrectly if viewport is updated during rendering to match
  the window size (try Framebuffer Example for reference).
- These methods are named for Tech Preview with “a” postfix to denote “array” versions taking a JavaScript array instead of TypedArray.
  This is to resolve method overloading problems with the current QObject based TypedArray implementation and will be rectified before final release:
    void uniform1fva(CanvasUniformLocation *location, QVariantList array)
    void uniform2fva(CanvasUniformLocation *location, QVariantList array)
    void uniform3fva(CanvasUniformLocation *location, QVariantList array)
    void uniform4fva(CanvasUniformLocation *location, QVariantList array)
    void uniform1iva(CanvasUniformLocation *location, QVariantList array)
    void uniform2iva(CanvasUniformLocation *location, QVariantList array)
    void uniform3iva(CanvasUniformLocation *location, QVariantList array)
    void uniform4iva(CanvasUniformLocation *location, QVariantList array)
    void vertexAttrib1fva(uint indx, QVariantList values)
    void vertexAttrib2fva(uint indx, QVariantList values)
    void vertexAttrib3fva(uint indx, QVariantList values)
    void vertexAttrib4fva(uint indx, QVariantList values)