Code Monkey home page Code Monkey logo

lonelydriver's Introduction

LonelyDriver

Dev log

  • 12/13/2023: Initiate project
  • 12/14/2023: Created singleton Window class
  • 12/15/2023: Render car model
  • 12/19/2023: Add light source and road (plane)

  • 12/21/2023: Successfully run PhysX snippet (Hello world and Vehicle drive)

  • 12/27/2023: Added gravity to car model and light cube
  • separated phisics functionalities into a singleton class

  • 12/28/2023: Draw skybox using cubemap. Created Skybox class that derives Drawable for special draw calls.
  • Toggle var DrawWireframe in App class to draw wireframe.

  • 12/31/2023: Generated terrain using height map with Tesselation shader.

  • 1/3/2024: changed car model (fixed missing textures) and use semi-fixed time step for render loop and physics step stability.

Warning

I haven't tried to apply PhysX height feild, Not sure if it suits for collision with vehicle so I didn't try it yet. Now I am just going to let the vehicle run on a plane and add textures to the plane instead of using the tesselated terrain.

  • 1/4/2024 Import and draw fbx model recursively
    This is for animating wheel direction when turing. I'm not sure why the transformation hierarchy works as I am applying scaling at the left-most of the model matrix (M = T_drawOffset * S * T_2 * T_1 * R), I thought it should be M = T_drawOffset * T_2 * T_1 * R * S.

  • 1/6/2024 Added physX vehicle simulation and attached with car model.
    The car is moving in pre-choreographed sequence.

  • 1/8/2024 Studied Physx Vehicle SDK structure and applied collision onto vehicle and object in scene. \

  • 1/11/2024 Add user input control car throttle, brake, and steer.
    Add Imgui and following camera (to be imporved).

  • 1/15/2024 Render terrain with color map. Instance drawing trees with height. \

Warning

Tree dosn't appear if srawn after terrain.

  • 1/24/2024 Shadow mappping (shadows are only drarwn on terrain at the momment) \

List of Implemented Features

  • Tessellation shader for terrain.
  • Incorporated Nvidia PhysX and vehicle SDK.
  • Shadow mapping.

TODOs

  • clean way to render wireframes (bounding box)
  • vehicle physics and user control
  • render terrain with textures.
  • calculate normal matrix on CPU and send in as uniform
  • implement better following camera
  • interpolate wheel rotation
  • add normal and environment mapping in model shder
  • change pointers to smart pointers
  • should I move all dependencies (glfw, glm...) into solution folder?
  • initialize App variables at contructor

lonelydriver's People

Contributors

linliwen88 avatar

Watchers

 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.