Why is this so good Jow Forums
Open/G/L bread
Why is this so good Jow Forums
Open/G/L bread
Because it was made by SGI, you know, the company that made IRIX/MIPS, literally the comfiest and most advanced platform to ever grace god's green earth.
I like mips
>Have to write like 50 lines to render a static one color triangle
How the FUCK do people manage to create full fledged 3d program/games in this shit.
using math and functions, newfag
It's honestly not that great.
Compare that to Vulkan's required 1000 lines of code for that triangle.
But those are some satisfying lines of code.
>what is abstraction
Try Vulkan someday. Hello world triangle code often have 200+ lines
Low level graphics code is insane.
About 45 lines of that code is boilerplate that creates the window, creates the various objects, binds them, compiles and links shaders, actual shaders which require more boilerplate even though they're just passthrough shaders and then draws the triangle.
These stay the same (and sometimes get repeated of course) in 1000 line application. You're just hitting the first small hurdle and giving up like a brainlet
Going from 0 triangles to 1 triangle is a big leap.
Going from 1 triangle to any number of triangles is a small step.
because it is 60 lines to draw a complex 3d mesh
Did ANYONE ask a fucking pedo? NO.
Get the FUCK out of my board, asshole.
based jc poster with a blessed post
cringe boomer tourist
Real men write their own 3d engine in C++ and don't even use openGL except for the final screen output.
also OpenGL is objectively garbage,
using OpenGL is a better choice than a software renderer or writing your own graphics drivers
deprecated
vulkan is the shit
make your own graphix api
It runs doom and quake's engines so it must be good
sadly iwtech had been reduced to shit by stuttering and 5gb precompiled lighting
>1000 lines of code
just remove the newlines retard
yeah im thinking cringe
debugging this is hell
hi hell, i'm dad
class Program
{
GLenum getType(const std::filesystem::path& path) const;
void compile_and_attach(GLuint program, const GLchar* source, GLenum shader_type);
GLuint m_Program;
std::string getShaderLog(GLuint shader);
std::string getProgramLog(GLuint shader);
public:
Program(const std::filesystem::path& path);
~Program() noexcept;
void bind() noexcept;
GLuint getHandle() noexcept;
void blkBind(GLuint bindingPoint, const char* uniformBlockName) noexcept;
std::vector getUniformBlkIndices();
std::vector getUniformIndices();
GLint getUniformIndex(const char* name) const noexcept;
private:
Program() = delete;
Program(Program const&) = delete;
Program(Program&&) = delete;
Program& operator=(Program const&) = delete;
Program& operator=(Program&&) = delete;
};
>sepples
opengl is actual screen tearing horseshit that every developer loathes dealing with
the speed makes up for the screen tearing