Giter VIP home page Giter VIP logo

3d-engine's Introduction

3D Game demo with the Williams Game Engine

This repository is a transformation of the Williams Game engine from a 2d based game engine to one which has simple 3d graphics, this is done with multiple matrices the main one matproj is used to change the vectors of 3 points to 2d coordinates, it can be used to create functional 3d graphics using SFML and the majority of the code left from the Williams Game Engine.

Additional details

You can change the shape that's desplayed by adding new triangles for a different mesh that's not a cube, for example you can make a rectangle or a pyramid, This is just a simple demonstration of 3d graphics and how they work. It can be presented a lot simpler, but all you need to put something 3d is to create a mesh, populate it with triangles, and add it as a gameobject. This currently will cause the gameobject to rotate to showcase the 3d graphics as that's in the mesh class. And if you want the different 3d objects to have different properties simply create a new class which has the same properties as the mesh class, and modify it to your hearts content. Just remember to multiply the points by the projection matrix (matproj) to be able to have the points shown as 2d.

Credits

SFML-based game engine was originally written in C++ by Eric Williams. Ported to C# by Mike Magruder. Code for the 3d Demo was mostly from this 3d engine demo This repo is almost the same ported from C++ to C#.

3d-engine's People

Contributors

polnera 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.