Recent Posts
Simple Linux General /slg/ - Useful Commands editi...
Jio Fiber
LEARNING SPREADSHEETS
My Biggest Project (till date)
AI image gen
Zerodha just donated 100,000 usd to FFMPEG
ITS HAPPENING
CAN SOMEONE EXPLAIN ME HOW THESE JOB DESCRIPTIONS ...
the best android browser has arrived!!
/compiler_develoment/ thread
Pajeet doval
/g/ - Laptops
Esp32 Jammer
Help me move away from winblows
दोमेन
the hmd touch 4g
I am done. It's over.
Jokes write themselves
AWS outage
took them long enough
just installed Arch Linux bros
Where to apply
Is the battery of my laptop dead?
OpenCL
Where are we heading towards?
does this ever end?
Zoho appreciation thread
new discord server for pair-programming
Looking to Buy a Decent Gaming Laptop
which llm subscription is the best
RSS feed for Bharatchan ?
Sketch - A simple 2D graphics library in C
Tell me all about indiachan/bharatchan lore
My Biggest Project (till date)
INRoK5
No.2581
I have written a library that writes and saves BMP images (win gdi spec)
On top of this I am writing a simple graphics library.
All of this from scratch in C btw.
Already done with BMP backend and generated the first image - 800×600 fully red colored canvas.
A1b9w4
No.2582
>>2581(OP)
Dayum anon, how do I learn all this. I know C in general but have no idea how to do shit with it
INRoK5
No.2584
>>2582
internet anon, on youtube and github mostly, its called procedural graphics, essentially you fill a memory buffer with pixel by pixel data, and then lay it out in a proper file structure.
there is a book called ray tracer challenge that uses this approach.
I have seen this done for ppm file format on linux, I dont use linux so decided to the same thing on windows, bmp is the simplest image file format on windows.
the windows BMP file structure is available in its documentation, wingdi has the necessary struct declarations.
tAHy9v
No.2615
tAHy9v
No.2616
Of6iqF
No.2617
>>2581(OP)
Are you planning to use any hardware acceleration?
xky39o
No.2618
>>2617
Later on yes, there are 2 stages to it, first I need to make a win api platform for window opening, I am learning that from casey muratori's handmaid hero series.
After that I would need to learn openGL (simplest) or DirectX (harder)
I can do all this without learning anything by simply using a library such as Raylib, wimhich I will do soon, but long term I would like to make my own library for doing all that.
A1b9w4
No.2622
>>2618
I use linux, is there any series equivalent to handmade hero for linux (Ik a lot of stuff would be same and make no difference regardless of which os one using, but still)
sqyr22
No.2623
>>2622
I am not really aware of one, thing is most of gaming and graphics development happens for windows, and linux being just a kernel doesn't really have an unified api, it depends what windowing system your distro uses - X, Wayland etc, they have their own api, with that you can use openGL.
A1b9w4
No.2624
>>2623
I see, I was planning to install windows anyway (dual boot) for gayming
Of6iqF
No.2625
>>2623
Im trying to learn vulkan on linux. According to the tutorial window creation is managed by GLFW library from opengl and till now it seems pretty indipendent of choice of window manager and display server you are using.
T6jGZn
No.2626
>>2625
yeah ofcourse, as I already said you can just skip to using some library instead, many such libraries exist.
glfw is a separate library for window opening, it works on both windows and linux, openGL itself isnt a library but simply a spec managed by khronos group, the GPU manufacturers implement it on their hardware.
I was talking from a more educational pov, if its just for getting something running, you can straight up use libraries like Raylib or SFML
T6jGZn
No.2627
On windows if you want complete control you basically directly use win api headers in your C/C++ code, and for graphics pipeline you can use DirectX which is Microsofts spec + library for graphics programming on GPUs.
To do the same on linux, you would have to include X11 headers (assuming you are using xorg).




























































