Coder Social home page Coder Social logo

cg_assign3's People

Contributors

andrewphamvk avatar konradjanica avatar mitchanderso avatar tullie avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cg_assign3's Issues

Delta Time single calculation

Currently delta time is calculated in both object.cc and camera.cc

For efficiency we need to calculate it once somewhere

Camera Zooming is broken

Something has broken the camera zoom (holding right click to zoom)

I haven't tested it for a while so no idea when it broke. I need it now for testing car stuff. Possibly broken when projection was put in main or when y vertices were reversed.

Tasks left to do

High priority IMO (no particular ordering):

  • G̶a̶m̶e̶C̶o̶n̶t̶r̶o̶l̶l̶e̶r̶ ̶r̶e̶d̶e̶s̶i̶g̶n̶?̶
  • Bump mapping
  • Shadows (day/night cycle?)
  • Look through glass? (first person?)
  • C̶a̶r̶ ̶t̶u̶r̶n̶i̶n̶g̶ ̶a̶n̶d̶ ̶W̶S̶A̶D̶ ̶c̶o̶n̶t̶r̶o̶l̶s̶
  • Car physic collisions to stay on road
  • Circular buffer of terrain (see terrain.cc constructor)
  • Car lights (spotlights)
  • Sounds (car horn? engine, brakes, tight corner screech?) - Very crude (requires SDL2 change)
  • Water (Mitch has prototype)
  • Fog (Mitch has prototype)
  • Spotlighting (Andrew has prototype)

Low Priority Addons:

  • find new loadable car model
  • lamp lights?
  • bushes or something on terrain
  • skybox
  • angle terrain tiles so roads don't connect all funky
  • x^3 terrain tiles not just x squared
  • clouds
  • score system (highscores?)
  • birds
  • gear shift overlay

Lighting for water

Lighting needs to be done for water (ill leave this to you @andrewphamvk)

also we need to consider whether we want the water normals to be calculated on the CPU (very intensive) or we can just switch textures when it hits night or something idk

Time overflow

All time needs to be unsigned int.

Anything directly proportional to time needs to be fixed to allow overflow.

First person view see through window

As we discussed a few weeks ago to pass one of the assignment specifications.

The first person mode is done so we can make another model for this task.

Although I suspect transparent water is enough to pass the requirement.

Camera Zooming is broken in "car_is_camera" branch

I think the easiest and a very optimal way of making the car move is to attach it to the camera. I have done this in the car_is_camera branch.

However, if you test it for yourself you will see the controls are originating around the camera position and not the car itself.

For some reason attaching the car model to the camera has broken the zoom. If we fix this, we could position the camera in the car and zoom out, this method of car movement would work very well.

The only change needed to attach the car is in renderer.cc -> Render(Object * ... instead of translating the camera_matrix by the view matrix, we leave it in camera space. See the if statement with a search for "camera_matrix"

Chase Camera

Leaving chase car camera for last so we can debug terrains (etc.) independent of car movement.

Arrow keys will be for camera movement and WSAD will be for Car control.

GameController class?

Renderer is getting ridiculous. I propose we introduce a new Controller class.

Remove all models/objects/terrains from renderer and put them in Controller instead. Turn Renderer->render(index) => Renderer->draw(Object * car) / ->draw(vector<Object > models) / ->draw(vector <Terrain * terrain>) e̶a̶c̶h̶ ̶w̶i̶t̶h̶ ̶t̶h̶e̶ ̶o̶p̶t̶i̶o̶n̶a̶l̶ ̶p̶a̶r̶a̶m̶e̶t̶e̶r̶ ̶o̶f̶ ̶s̶h̶a̶d̶e̶r̶ ̶p̶r̶o̶g̶r̶a̶m̶.̶ ̶I̶.̶e̶.̶ ̶p̶r̶o̶t̶o̶t̶y̶p̶e̶ ̶=̶ ̶v̶o̶i̶d̶ ̶d̶r̶a̶w̶(̶c̶o̶n̶s̶t̶ ̶O̶b̶j̶e̶c̶t̶ ̶̶ ̶c̶a̶r̶,̶ ̶c̶o̶n̶s̶t̶ ̶G̶L̶u̶i̶n̶t̶ ̶&̶p̶r̶o̶g̶r̶a̶m̶_̶i̶d̶)̶ The VAO handle requires a program_id so the model does need to hold it's own Program_ID - Konrad

Shaders should be loaded into the Renderer in a vector

The controller will also handle car collision detection, car input controls, sun location for day/night cycle?, scores?, all states.

Normal Calculation

Hey guys, I propose we move normal calculation into the vertex shader possibly because if we are to have animation (for the water) the vertices change positions so doing static CPU side normal calculations is not good enough, this could be done by having a new shader just for water

open to any ideas!

HIGH PRIORITY: Collision

Collision of car with road.

Keeping in mind the roads might be rotated to connect properly so collisions can't just be put on X coordinate but include Z too.

Headlights angle

The angle of the players car headlights (spotlights) isn't angled properly to see the road signs, would look much better in my opinion... @andrewphamvk

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.