Any good video tutorials on making a OS with a GUI?

This page summarizes the projects mentioned and recommended in the original post on /r/osdev

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • nuklear

  • In fact, if using a modern graphics pipeline with shaders, you will actually have to learn how to draw a single rectangle to your screen, and then use that knowledge to draw (anti-aliased) lines, rectangles, arcs, circles, ellipses, etc. too. For instance, have a look at https://www.cairographics.org/ https://github.com/vurtun/nuklear https://github.com/memononen/nanovg and https://github.com/nical/lyon. There are probably also tutorials on how to draw vectorized graphics using OpenGL, Vulkan, etc.

  • nanovg

    Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.

  • In fact, if using a modern graphics pipeline with shaders, you will actually have to learn how to draw a single rectangle to your screen, and then use that knowledge to draw (anti-aliased) lines, rectangles, arcs, circles, ellipses, etc. too. For instance, have a look at https://www.cairographics.org/ https://github.com/vurtun/nuklear https://github.com/memononen/nanovg and https://github.com/nical/lyon. There are probably also tutorials on how to draw vectorized graphics using OpenGL, Vulkan, etc.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • lyon

    2D graphics rendering on the GPU in rust using path tessellation.

  • In fact, if using a modern graphics pipeline with shaders, you will actually have to learn how to draw a single rectangle to your screen, and then use that knowledge to draw (anti-aliased) lines, rectangles, arcs, circles, ellipses, etc. too. For instance, have a look at https://www.cairographics.org/ https://github.com/vurtun/nuklear https://github.com/memononen/nanovg and https://github.com/nical/lyon. There are probably also tutorials on how to draw vectorized graphics using OpenGL, Vulkan, etc.

  • harfbuzz

    HarfBuzz text shaping engine

  • Then there is the entire internationalization problem for which you have to implement most of the Unicode standard, the reports can be found here: http://unicode.org/reports/ and in general you will need the bidirectional algorithm for Hewbrew/Arabic texts, normalization, the line breaking algorithm, the script property and probably text segmentation. On top, you will also need to deal with text shaping (e.g. https://github.com/harfbuzz/harfbuzz). For instance é should be rendered as é and not as e' (even though the grapheme may consist of two code points, there is also a version that is a single code point).

  • cassowary-rs

    A Rust implementation of the Cassowary constraint solving algorithm

  • Once you have all this, you have the graphics tools to start implementing widgets like buttons, text boxes, etc. but on top of all this, you suddenly have to figure out how to support displays with different DPIs, as your GUI will otherwise be too small/too big. So you generally want to get rid of expressing values in pixels and instead move to percentages. You will also want to describe things in terms of horizontal/vertical layouts and grids. For instance, take a look at: https://github.com/dylanede/cassowary-rs

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts