A scratch built kernel original planed to only render a Utah-teapot

Overview

teapot-OS


Application preview

Application preview 2 (sine wave animation) Application preview 3 (first 3d renderer, with mouse controll)

Application preview 4 Application preview 5 Application preview 6 Application preview 7 Application preview 7

Current progress

  • Bootloader enter 32 bit protected mode and run c code
  • Switch VGA mode the should bootloader set the VGA mode to 320 x 200 color
  • Drawing on screen create a VGA driver adding a layer of abtraction to v-ram acces
  • Graphics library enable features like fill_rect and draw_triangle via the VGA driver
  • Interrupts handle interrupts in order to create drivers for mouse and keyboard
  • Keyboard driver enable keyboard input with information about keypresses
  • Font create a custom 7x5 font in preparation for text output
  • Text output enable the VGA driver to draw font characters
  • String output add draw_string to graphics library by converting chars to font indexes
  • Mouse driver enable mouse motion and button input
  • Cursor [temporary] implement mouse cursor directly to VGA driver
  • GUI [temporary] use available functions display keyboard and mouse input info
  • Clean up VGA driver differentiate more between VGA driver and graphics lib
  • Linear algebra port library from this project in preparation for 3D rendering
  • 3D-renderer implement 3D-renderer
  • Event handeler create a event handeler to interface with device drivers
  • Memory allocator create a memory allocator
  • Run on hardware run teapot os natively on real hardware (potentialy 2013 MacBook Air)

  • standard library create neccesary utilities
    • Fixed width ints for neater code
    • Graphics library
    • String utils converting and concating
    • Math math functions especialy trigonometry functions like sin(x)

lang

size

lines

Owner
Gustaf franzèn
Gustaf franzèn
Just a fun little project to learn how to render Bézier Curves.

Bézier Curve Just a fun little project to learn how to render Bézier Curves. CPU implementation GPU implementation Screencasts Thumbnail Link Coding B

Tsoding 17 Apr 29, 2022
A personal project that uses DX12 to implement various render techniques to ultimately create breathtaking real-time visuals

D3D12Playground (Real Time) A personal project that uses DX12 to implement various render techniques to ultimately create breathtaking real-time visua

null 3 Apr 27, 2022
3D engine from scratch (without OpenGL or any other 3D graphics library)

Simple 3d engine based on SFML library. I tried to make this engine powerful and easy to understand.

Vectozavr 20 Apr 6, 2022
Software ray tracer written from scratch in C that can run on CPU or GPU with emphasis on ease of use and trivial setup

A minimalist and platform-agnostic interactive/real-time raytracer. Strong emphasis on simplicity, ease of use and almost no setup to get started with

Arnon Marcus 42 Apr 23, 2022
A completely free, open-source, 2D game engine built on proven torque technology.

Torque2D 4.0 Early Access 1 MIT Licensed Open Source version of Torque2D from GarageGames. Maintained by the Torque Game Engines team and contribution

Torque Game Engines 465 May 16, 2022
kaun is a replacement for löve's built-in love.graphics module intended for 3D graphics

kaun kaun is a replacement for löve's built-in love.graphics module intended for 3D graphics. It is a Lua module you can require from a shared library

Joel Schumacher 4 Apr 5, 2021
CXXGraph is a small library, header only, that manages the Graph and it's algorithms in C++.

CXXGraph is a small library, header only, that manages the Graph and it's algorithms in C++.

ZigRazor 127 May 11, 2022
A header-only C-like shading language compiler that writes Metal, HLSL, GLSL

GPUC A generic shading language compiler that writes metal, HLSL, and GLSL GPUC is a work in progress, not ready for prime time. The primary motivatio

Garett Bass 57 Mar 19, 2022
Minimal Linux Live (MLL) is a tiny educational Linux distribution, which is designed to be built from scratch by using a collection of automated shell scripts. Minimal Linux Live offers a core environment with just the Linux kernel, GNU C library, and Busybox userland utilities.

Minimal Linux Live (MLL) is a tiny educational Linux distribution, which is designed to be built from scratch by using a collection of automated shell scripts. Minimal Linux Live offers a core environment with just the Linux kernel, GNU C library, and Busybox userland utilities.

John Davidson 1.3k May 11, 2022
Phan Sang 2 May 4, 2022
Original hVNC has been recoded to work with all version of windows above XP. Thanks to the original author for this wonderful tool.

hVNC - Recoded This is the recoded version of the hVNC found in TinyNuke trojan. Compiling Compile tested with Visual Studio 2017. No compile errors.

Snow Leopard 8 Jan 22, 2022
Example library and blog that explain how JSI modules are built from scratch in React Native

react-native-simple-jsi This is an example library that explains how anyone can build jsi modules from scratch in React Native. This code is written a

Ammar Ahmed 91 Apr 29, 2022
Engine-3D is a 3D-Graphics Renderer built from scratch in C++

Engine3D Engine-3D is a 3D-Graphics Renderer built from scratch in C++, as an Undergraduate Computer Engineering Project for 5th Semester, assigned by

Chirag Lamsal 4 Nov 15, 2021
My first os built from scratch

Kernel project My first os built from scratch Contributors are welcome LICENSE TODO GDT IDT PS2 Keyboard PS2 Mouse PIT RTC Initrd Drawing on framebuff

null 139 May 8, 2022
Wireframe rasterizer built from scratch (using MLX) in C

Fils de Fer Project Goal This project is about creating a simplified graphic “wireframe” (“fils de fer” in French, hence the name of the project) repr

null 1 Nov 20, 2021
Template library and blog that explain how JSI modules are built from scratch in React Native

react-native-jsi-template This is an example library that explains how anyone can build jsi modules from scratch in React Native. This code is written

Ammar Ahmed 91 Apr 29, 2022
LoRaWAN end node built from scratch using CubeMX for WLE5x in the LoRa-E5

Seeed-LoRa-E5 LoRaWAN end node built from scratch using STM32CubeIDE/CubeMX for the LoRa-E5 WLE5x This assumes a general familiarity with STM32CubeIDE

Dana 14 Apr 14, 2022
FPS Game built from scratch using C++ and Legacy OpenGL.

A small game made by a couple of students as a university project. Built from scratch using C++ and Legacy OpenGL, hence the name.

Yaman Qassas 54 Apr 20, 2022
DirectX12 Render Pipeline

DirectX12 Render Pipeline WindowSDK Version : 10.0.18362.0 Visual Studion Version : 2017 Rendering pipeline demo based on directx12. font. Text render

null 15 Apr 5, 2022
Just a fun little project to learn how to render Bézier Curves.

Bézier Curve Just a fun little project to learn how to render Bézier Curves. CPU implementation GPU implementation Screencasts Thumbnail Link Coding B

Tsoding 17 Apr 29, 2022
Dear IMGUI + Render + Window handling, amalgamation in two files ready to use

imgui-app Imgui-app is an amalgamation of two amazing projects Dear Imgui and Sokol libraries into two files to make it very easy to start working wit

PpluX 96 Mar 24, 2022
QtLottie is a tiny C++ library that can render Adobe® After Effects™ animations exported as JSON with Bodymovin.

QtLottie QtLottie is a tiny C++ library that can render Adobe® After Effects™ animations exported as JSON with Bodymovin. Features Support many After

Yuhang Zhao 25 May 12, 2022
tlRender, or timeline render, is an early stage project for rendering editorial timelines

tlRender tlRender, or timeline render, is an early stage project for rendering editorial timelines. The project includes libraries for rendering timel

Darby Johnston 60 May 2, 2022
Super Volume Render of Monte Carlo Path tracing for Linux

exposure-render-for-Linux Super Volume Render of Monte Carlo Path tracing for Linux Introduction The code is a Linux distribution of exposure render.

engineer 3 Aug 6, 2021
A personal project that uses DX12 to implement various render techniques to ultimately create breathtaking real-time visuals

D3D12Playground (Real Time) A personal project that uses DX12 to implement various render techniques to ultimately create breathtaking real-time visua

null 3 Apr 27, 2022
A simple example showing how to render a video with libvlc + raylib.

Hey! I bet you have been trying to render and control a video with raylib for a long long time. Don't you think you should at least buy me a beer? Wha

Andrea Fontana 37 Mar 1, 2022
A tool to render half life's collision hulls

Overview This is a tool that computes and renders the collision hulls of GoldSrc maps (BSP version 30), such as Half-Life 1 and Opposing Force maps. T

Cristhian Grundmann 3 Mar 17, 2022
The FLIP Fluids addon is a tool that helps you set up, run, and render high quality liquid fluid effects all within Blender, the free and open source 3D creation suite.

FLIP Fluids The FLIP Fluids addon is a tool that helps you set up, run, and render liquid simulation effects. Our custom built fluid engine is based a

Ryan Guy 1.2k May 10, 2022
PastaOS is a simple open-source kernel written from scratch for didactic purposes

What is PastaOS? ================ PastaOS is a simple open-source kernel written from scratch for didactic purposes. The main goal of this project i

Andrea Righi 10 Mar 30, 2022