Giter VIP home page Giter VIP logo

bezierloader's Introduction

alt text

BezierLoader

An application which can load an OBJ format file, containing one or more Bezier curves, into some internal format. The application should then render the curves. Notes:

  • The application is written in C++.
  • The loader handles any valid Bezier curve in the OBJ format.
  • The loader report an error if non-Bezier primitives are found in the file.
  • This project use Ogre3D for the rendering part.
  • Bezier curves are computed using a Bernstein polynomial.
  • Curves are described with a set of controls points and some parameters depending on the rendering technique used:
    • Constant Parametric Subdivision
    • Constant Space Subdivision
    • Curvature Dependent Subdivision

Repository structure

  • bin : the last released.
  • doc : documentation about the BezierLoader project.
  • externals : external librairies used in this project.
  • media : some assets used to render objects.
  • src : the source code.
  • vs2010 : a solution to compile the project with Visual Studio 2010.
    • BezierLoader.vcxproj generate a static library
    • BezierLoaderTest.vcxproj generate an exe to test the functionalities provided by BezierLoader static library.

Test Application

You can launch the last release by double-clicking on the "test.bat" file. Check the "test.bat" file to see how to load your own .obj file.

The application load the curves in the .obj file. Each curve is rendered with a particular random colour. Control points are rendered as small spheres. The curves are rendered as more or less broken lines, depending on the resolution. You can switch and focus on each curve pressing space bar.

  • Controls:
    • W,S,A,D + mouse to move the camera.
    • Left_Shift : speed up translation.
    • Space : switch to the next curve (the camera focus automatically on the next curve).
    • Enter : show all curves.
    • Esc : Exit.

bezierloader's People

Contributors

ebadier avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

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.