GithubHelp home page GithubHelp logo

jango73 / quick3d Goto Github PK

View Code? Open in Web Editor NEW
13.0 5.0 3.0 95.97 MB

Qt based 3D engine with geo-referenced entities

License: GNU General Public License v3.0

CMake 0.62% Batchfile 0.02% C++ 49.49% C 47.47% Objective-C++ 1.60% Objective-C 0.31% Makefile 0.01% DIGITAL Command Language 0.01% QMake 0.11% Python 0.20% CSS 0.16%
qt 3d realtime engine global scenery georeferenced lod terrain opengl

quick3d's Introduction

Quick3D

Qt based 3D engine with geo-referenced entities

This used to be a very simple 3D engine that could show a 3D terrain and objects. But it has been pushed much further and is now a general purpose engine.

Building

Open .pro file in Qt Creator and build without shadow build option.

Features

  • Global terrain with automatic level of detail. Can be generated from real earth elevation data or procedurally and can be populated with vegetation.
  • Geo-referenced objects, with parent-child relationship
  • Q3D file format, with a python script to export from Blender
  • Scenes are setup in a XML file or at runtime
  • Basic animation classes

Things to code or to fix

Optimize

  • Frame rate drops too fast when scene goes up in complexity. Probably too much overhead on object/material setup.

Terrain

  • Tile seams : for now, seams between terrain tiles are visible. Should create small patches on edges to match tiles.
  • Z-fighting : should use an adaptive z-buffer depth to avoid this.
  • Loading : sometimes tiles simply don't show up.
  • Vegetation rendering : vegetation objects (and all alpha containing objects) should be rendered last to avoid alpha problems.
  • Vegetation spawning : still some bug in this algorithm.

Animation

  • Skinning : nothing done yet.

Camera

  • Frustum : sometimes objects disappear because they are not considered inside the viewing frustum (although we know they are).

Materials

  • PBR rendering : allow scripting of PBR methods for realistic shading.
  • Shaders: there are some artefacts due to bad looping when using perlin noise.

quick3d's People

Contributors

jango73 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

quick3d's Issues

Dynamic textures : remove flickering

There is flickering in dynmically drawn textures, because of multi-threading.
Make better sync between main thread and texture updating threads.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.