Jump to content

what language to start?

I know vulkan is an advanced api for graphics requiring knolage of more than one programming language, and its originally written in c. what language is best to learn first to learn vulkan, asside from open gl? i figured c or c++ but is another language better? if c a free corse that can be recommended? thanks.

main rig:

CPU: 8086k @ 4.00ghz-4.3 boost

PSU: 750 watt psu gold (Corsair rm750)

gpu:axle p106-100 6gbz msi p104-100 @ 1887+150mhz oc gpu clock, 10,012 memory clock*2(sli?) on prime w coffee lake igpu

Mobo: Z390 taichi ultimate

Ram: 2x8gb corsair vengence lpx @3000mhz speed

case: focus G black

OS: ubuntu 16.04.6, and umix 20.04

Cooler: mugen 5 rev b,

Storage: 860 evo 1tb/ 120 gb corsair force nvme 500

 

backup

8gb ram celeron laptop/860 evo 500gb

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, Snowarch said:

vulkan is an advanced api for graphics requiring knolage of more than one programming language, and its originally written in c. what language is best to learn first to learn vulkan, asside from open gl

OpenGL and Vulkan are both APIs, which require platform specific implementations from device manufacturers in the form of device drivers. They are not languages in the sense of the word that you are thinking of.

Graphics programming, especially that which interacts very directly with the the underlying graphics device API (Vulkan, OpenGL, DirectX...) is one of the most difficult areas of computer programming. Just about the only thing more difficult in the field of graphics programming is writing the API implementations themselves. I don't say this to discourage you, rather to convince you of the importance of focusing primarily on gaining an extremely good understanding of the fundamentals of programming.

Generally, when we want to interact very directly with these APIs we use C++. Given that, I have two recommendations:

  • No programming experience
    • Programming: Principles and Practice Using C++ by Bjarne Stroustrup
  • Intermediate to advanced programming experience
    • The C++ Programming Language by Bjarne Stroustrup

These books are written by the creator of C++, Bjarne Stroustrup. They target C++11, which is plenty good enough and has every core feature of the language and standard library. Most of the features introduced in C++14 and C++17 are primarily targeted at advanced developers needing modern multithreading and generic programming support.

 

Some additional topics of study for low level graphics device programming would be primary school level trigonometry, basic vector operations, and state machines (as this is a simple way of thinking about these low level graphics APIs).

Once you get a good handle on C++, I would recommend LearnOpenGL.com. It's a pretty good introduction to modern OpenGL, and provides you with a very good launching point to jump off into the more advanced features of OpenGL 4+ as well as the fundamental knowledge you will need to jump into other graphics APIs.

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

so can you recommend something free for c++ learning then?

main rig:

CPU: 8086k @ 4.00ghz-4.3 boost

PSU: 750 watt psu gold (Corsair rm750)

gpu:axle p106-100 6gbz msi p104-100 @ 1887+150mhz oc gpu clock, 10,012 memory clock*2(sli?) on prime w coffee lake igpu

Mobo: Z390 taichi ultimate

Ram: 2x8gb corsair vengence lpx @3000mhz speed

case: focus G black

OS: ubuntu 16.04.6, and umix 20.04

Cooler: mugen 5 rev b,

Storage: 860 evo 1tb/ 120 gb corsair force nvme 500

 

backup

8gb ram celeron laptop/860 evo 500gb

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, Snowarch said:

so can you recommend something free for c++ learning then?

8 hours ago, straight_stewie said:
  • No programming experience
    • Programming: Principles and Practice Using C++ by Bjarne Stroustrup
  • Intermediate to advanced programming experience
    • The C++ Programming Language by Bjarne Stroustrup

Not for C++, no. I have yet to see any legally free introductory C++ material that is worth any time.

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

To put things into context: I've been programming for nearly 11 years now in multiple languages along the way, projects big and small. Vulkan is still hard. I can do stuff with it now, way past the triangle, but it's still a massive amount of work. And I can't write anything too complicated because it's not my full time job, and that's the time you need to sink into a game engine to make anything worth while at all. Rome wasn't built in a day, and neither are modern game engines and technology. Imagine your own situation. Follow @straight_stewie's advice. Otherwise you'll just beat yourself up when you'd fail. Master programming and computers in general first. Programming is a fun and fulfilling career/hobby, don't go to a lvl99+ dungeon while not even lvl1.

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, straight_stewie said:

Not for C++, no. I have yet to see any legally free introductory C++ material that is worth any time.

?

There are plenty tutorials on youtube

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, Teddy07 said:

There are plenty tutorials on youtube

6 hours ago, straight_stewie said:

worth any time.

 

 

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

concidering opengl is slower, im a linux ubuntu user, and i want to make games i can actually play, most game engines are either windows only or opengl only on linux. thats why i want to learn vulkan so i can hopefully learn some languages in order, take some years, get okay-ish and do graphics even if i cant actually"make the game"

main rig:

CPU: 8086k @ 4.00ghz-4.3 boost

PSU: 750 watt psu gold (Corsair rm750)

gpu:axle p106-100 6gbz msi p104-100 @ 1887+150mhz oc gpu clock, 10,012 memory clock*2(sli?) on prime w coffee lake igpu

Mobo: Z390 taichi ultimate

Ram: 2x8gb corsair vengence lpx @3000mhz speed

case: focus G black

OS: ubuntu 16.04.6, and umix 20.04

Cooler: mugen 5 rev b,

Storage: 860 evo 1tb/ 120 gb corsair force nvme 500

 

backup

8gb ram celeron laptop/860 evo 500gb

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Snowarch said:

vulkan so i can hopefully learn some languages in order, take some years, get okay-ish and do graphics even if i cant actually"make the game"

Start with C++. C++ is a prerequisite to working directly with any low level graphics API.

Fortunately, Ubuntu ships with GCC, and GCC contains one of the best C++ compilers in existence. It's already on your machine. Seriously, just open your favorite text editor and type:

#include <iostream>
  
int main()
{
  std::cout << "Hello World! My Name is <insertYourNameHere>!" << std::endl; // delete the angle brackets thing and write your name
}

Save it as "hello.cpp"

 

Then, open up a terminal, navigate to where the file is saved, and run the command:

g++ hello.cpp -o hello

If that command completes without any errors just run the following command while still in the directory:

./hello


And you should see it output

Hello World! My Name is <WhateverYouPutHere>!

 

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

i have gotten helloworld to work on my terminal. gedit + terminal = debugger-less ide thats actually easy to use.

 

i did a system install since i last tried c++, so thanks for explaining how to run in terminal.

main rig:

CPU: 8086k @ 4.00ghz-4.3 boost

PSU: 750 watt psu gold (Corsair rm750)

gpu:axle p106-100 6gbz msi p104-100 @ 1887+150mhz oc gpu clock, 10,012 memory clock*2(sli?) on prime w coffee lake igpu

Mobo: Z390 taichi ultimate

Ram: 2x8gb corsair vengence lpx @3000mhz speed

case: focus G black

OS: ubuntu 16.04.6, and umix 20.04

Cooler: mugen 5 rev b,

Storage: 860 evo 1tb/ 120 gb corsair force nvme 500

 

backup

8gb ram celeron laptop/860 evo 500gb

Link to comment
Share on other sites

Link to post
Share on other sites

On 4/16/2020 at 12:48 PM, Snowarch said:

I know vulkan is an advanced api for graphics requiring knolage of more than one programming language, and its originally written in c. what language is best to learn first to learn vulkan, asside from open gl? i figured c or c++ but is another language better? if c a free corse that can be recommended? thanks.

Some Languages I'd recommend:

Visual Basic

JavaScript

 

Link to comment
Share on other sites

Link to post
Share on other sites

SFML

 

cplusplus.com

 

have fun! 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×