Code Monkey home page Code Monkey logo

opengl's Introduction

Learning of OpenGL API

Content of the repo

In this repostitory I am going to document and store my code
while I am learning graphic API OpenGL by Khronos

Structure

I am learning from the book called Learn OpenGL

Basics of the OpenGL can be found in the main branch where each commits represents end of the chapter because chapters are following up on each other.

Branches

When delving into advanced OpenGL each chapter is quite unique but is using the same codebase therefore I have chosen to use different branches.

Each branch is covering one chapter in the book and I used the following naming

advance-opengl-name-of-the-chapter

or

advanced-lightning-name-of-the-chapter

or

PBR-name-of-the-chapter

With this approach, I can see different results of the chapter simply just by checking out to the different branch

README of each branch will contain screenshots of the scene that will be showing different outcomes of different rendering techniques

Scene

In the scene, you are able to move around with your mouse and with W, A, S, D

You are also able to move light

  • up and down arrows move light along z-axis

  • left and right arrows move light along x-axis

  • left shift move light up

  • left control move light down

Building

YOU THEORETICALLY NEED TO ONLY CLONE THE REPO IN ORDER FOR IT TO WORK

BUT DONT FORGET TO REBUILD YOUR SOLUTION

(and of course, opening the solution using Visual Studio 2022, and)

This project contains several 3rd party libraries like glm, glad etc...

They are built via cMake for Visual Studio 17 (2022) and compiled binaries are included in 3rdPartiesLibrieis folder.

The project solution is using Visual Studio macros to tell the linker and compiler where to look for the compiled header files


End of the basic OpenGL

Contains rendered model using Assimp with Phong lighting model that has a blueish color

Light sources are: point light, direction light

Alt text

opengl's People

Contributors

wpsimon09 avatar

Stargazers

 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.