3D engine from scratch

I have enough C++/Math background. Where should I start? I want to learn the theory behind it(shading etc.) along with the practice. Any good book/tutorial recommendations?

Attached: UE_Logo_Black_Centered.svg.png (1200x1253, 81K)

Other urls found in this thread:

github.com/orangeduck/Corange
rastertek.com/tutdx11.html
hooktube.com/watch?v=vkUwT9U1GzA
thegameassembly.com/games/overscoped
Sup
github.com/EvilPudding/candle
github.com/EvilPudding/Shift3D
twitter.com/AnonBabble

use your head

best feeling when you derive everything from nothing

I did it. you can do it.

>3D engine from scratch
Don't, there is no point unless you want to make something simple.

Read openGL super bible to learn opengl then a glsl book to learn shader code.

Benny box on YouTube actually has a tutorial series for this

>left-handed or right-handed coordinates?

there is a point when using an engine along with market place will eat up 35 to 38% of your profits

The best way is to start making demos/games. Start small. Make brick breaker. Then make it look good. Polish it. Give it menus and shit. Then take what you have learned and make another game with a larger scope.

Repeat.

>best feeling when you derive everything from nothing
Then first you must invent the universe. Then invent computers, math, programming, drivers, shaders, etc.

You did all of that? Amazing. I post on the same board as God himself.

Don't you have to make more than $400k a year or something to have to pay fees to Unreal? And isn't it closer to like 10%?

100% worth it. You aren't going to make a better engine, you'll save time, and you'll learn how things are supposed to be done instead of your buggy mess implementation you did yourself.

The Witness was made on an in-house engine and it looks & plays great. There are probably other examples.

Attached: the-witness.jpg (830x467, 87K)

I would start by studying opengl, sdl. then implement corange in c++ github.com/orangeduck/Corange

No, you need to make 3000$/3 months or so. And the fee is 5%.

Take a look at Godot Engine. It's free and open source, written in C++. Modify it to your needs, learn from the source code.

Learnopengl

Udemy

Jonathan Blow is very much the exception in the indie scene. Have you read his twitter? He constantly talks, and rightfully so, about how shit most (indie) devs are.

And why the fuck would you do that? It's a fucking retarded idea I don't even know where to begin.
If you're convinced you're a gifted programmer become a technical artist. You'll be 80% writing shaders and doing optimizations, rest of the time some easy art work like particle effects.
Don't want to do that, start extending existing engines and selling code assets at Unity/Unreal store. You'll be mostly developing tools for the editor. All possible scripts for drop-in use in the game are already so mature you'll never surpass them.

I used
rastertek.com/tutdx11.html

It's a long road filled with blood and sweat but there's no better way of learning the theory.

God's speed, fellow engine-maker!

Have any pics of what you've made using the knowledge from those tutorials?

You can go check bisqwit's videos for a start
hooktube.com/watch?v=vkUwT9U1GzA

Sure, we were a small team though

thegameassembly.com/games/overscoped

>Where should I start?
Beginning would be a nice place.

You need the API fundamentals be that OpenGL or D3D.

you can make a way less bloated engine that can run better especially in Vulkan. not to mention making your own engine helps you understand an engine like unreal infinitely better. you can also buy a license for unreal for a game instead of royalties. its all about weighing in whats cost effective or the simple fact the knowledge gained making an engine is priceless but consuming

there are hundreds if not thousands of buggy unreal games

Sup Forums-science.wikia.com/wiki/Computer_Science_and_Engineering#Computer_Graphics_and_Image_Processing
Sup Forums-science.wikia.com/wiki/Computer_Science_and_Engineering#Game_Development

Handmade hero. Google it.

You're welcome

The best place to start is learning OpenGL. For C++ you have GLFW, which is nice. Is not really that hard.

For giving your games that next gen look learn how to do PBR shaders, that's it.

Most people treat OpenGL/Graphics programming has this obscure topic and will call you for "reinventing the wheel", but in reality it is not really hard. It's just basic optics, linear algebra, and a couple of data structures.

To be honest developing a simple 3d engine, that performs well, and has next gen effects is not that difficult.

Kinda related, my game engine.
github.com/EvilPudding/candle
github.com/EvilPudding/Shift3D

Yes and no, adding modern shaders is easy, making a modular engine capable of being extended and developing all tools people are used to having today is massive work.

Attached: candle.png (1920x1080, 3.61M)

OpenGL or DirectX API. Learn to draw then load meshes, then collision detection and raycasting, audio and input.