Jump to content

  • Log In with Google      Sign In   
  • Create Account

bioglaze

Member Since 24 Oct 2012
Offline Last Active Today, 02:57 AM

#5290953 Anyone here a self-taught graphics programmer?

Posted by bioglaze on 10 May 2016 - 06:46 AM

My short story:

 

In the late 90s I was introduced to the demoscene by my friend and instantly became interested in graphics and low-level programming. I made a couple of software rasterizers and ray/path tracers and finally moved on to 3D acceleration, first using OpenGL but later every major API. I learned (and always learning more) from tutorials, sample code, GDC and SIGGRAPH papers. I mostly make my own renderers but also use Unity and Unreal. My major personal project is my engine that I generally rewrite every two years or so and the current iteration is not very far yet as I'm learning Vulkan and D3D12 while developing it. At work I have developed graphics code both for mobile and AAA games/engines.




#5288115 Depth Problem In Release Mode

Posted by bioglaze on 22 April 2016 - 04:29 AM

Glad to see you solved the issue, but you could also find uninitialized variables by using tools like PVS-Studio or CppCheck.




#5287595 How did you learn making games?

Posted by bioglaze on 19 April 2016 - 06:06 AM

 

 

There were BBS services and few other Internet-like solutions back then, but they costed lot and they weren't so common in use ( especially for non-US people ).

 

Eh? BBSes were very popular in Europe.

 

 

I should have say they weren't so popular where I come from :)

 

Fair enough. Not all countries are the same. My perspective is from Northern Europe (Finland).

 

Onto the topic:

 

What was the language you used for for first?

QBasic, Turbo Pascal.

 

How much time did it take to learn the language? (When were you able to do on your own, a game)

Learned before high school, first "game" was a chatbot.

 

Are you still making games?

In my spare time I mostly make game/graphics engines. Continuosly learning new stuff by reading Siggraph and GDC papers/slides and blogs.

 

Have you uploaded the game to somewhere

Current programmer generation has discovery solved with services like GitHub and sites like Facebook and Twitter.




#5287455 How did you learn making games?

Posted by bioglaze on 18 April 2016 - 07:45 AM

There were BBS services and few other Internet-like solutions back then, but they costed lot and they weren't so common in use ( especially for non-US people ).

 

Eh? BBSes were very popular in Europe.




#5280336 Laptop and desktop shows different results.

Posted by bioglaze on 09 March 2016 - 05:57 AM

You should enable Direct3D debug layer.




#5278289 "check before flight" list - for OpenGL

Posted by bioglaze on 26 February 2016 - 08:13 AM

Great list, but I'd like to add that one should also test for OpenGL errors.




#5272954 Ogg Vorbis trouble

Posted by bioglaze on 28 January 2016 - 12:48 AM

You could also give a try to stb_vorbiswhich is a popular single-file .ogg reader.




#5268954 Criticism of C++

Posted by bioglaze on 03 January 2016 - 02:05 AM

I mostly use C++ and always keep learning new features but there are many things wrong with the language:

 

  • No easy way to print enums
  • No modules
  • Templates are ugly
  • C legacy
  • Hard to parse causing problems with code analysis, navigation (intellisense etc.)
  • Uninitialized variables still cause a lot of security bugs



#5262574 Works on AMD GPU in Windows, doesn't work on Intel GPU in Mac OS X

Posted by bioglaze on 18 November 2015 - 07:08 AM

 

Have you use OpenGL Profiler to debug your program on OSX?

https://developer.apple.com/downloads/

You should be able to get a trace of OpenGL calls and context details.

 

 

I signed into that site and searched for OpenGL profiler, but it returned zero hits.

 

 

It's included in a download called "Graphics Tools for Xcode 7"




#5262248 Works on AMD GPU in Windows, doesn't work on Intel GPU in Mac OS X

Posted by bioglaze on 16 November 2015 - 08:11 AM

The *APPLE calls are needed on Mac OS X El Capitan. I'll look at the other replies later. Thank you all for your help.

 

I use them on El Capitan without *APPLE suffix.




#5262220 Works on AMD GPU in Windows, doesn't work on Intel GPU in Mac OS X

Posted by bioglaze on 16 November 2015 - 02:58 AM

 

The draw code is:

void display_func(void)
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    
    glDrawElements(GL_TRIANGLES, triangle_indices.size()*3, GL_UNSIGNED_INT, 0);
 
    glFlush();
}

There are no errors with the shader compile and link.

 

I specify the type as GLuint in the last line of this code:

// Transfer vertex data to GPU
glGenVertexArraysAPPLE(1, vaos);
    glBindVertexArrayAPPLE(vaos[0]);
    glGenBuffers(1, &buffers[0]);
    glBindBuffer(GL_ARRAY_BUFFER, buffers[0]);
    glBufferData(GL_ARRAY_BUFFER, vertices_with_face_normals.size()*6*sizeof(float), &vertices_with_face_normals[0], GL_STATIC_DRAW);
    
// Set up vertex positions
glVertexAttribPointer(0, 6/2, GL_FLOAT, GL_FALSE, 6 * sizeof(GLfloat), (GLvoid*)0);
    glEnableVertexAttribArray(0);
 
// Set up vertex normals
    glVertexAttribPointer(1, 6/2, GL_FLOAT, GL_FALSE, 6 * sizeof(GLfloat), (GLvoid*)(6/2 * sizeof(GLfloat)));
    glEnableVertexAttribArray(1);
 
// Transfer index data to GPU
glGenBuffers(1, &buffers[1]);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, buffers[1]);
glBufferData(GL_ELEMENT_ARRAY_BUFFER, triangle_indices.size()*3*sizeof(GLuint), &triangle_indices[0], GL_STATIC_DRAW);

 

You should not need to use the methods ending with *APPLE. Try to remove *APPLE and see if it works.




#5260301 Idea about game engine for Linux

Posted by bioglaze on 03 November 2015 - 07:13 AM

So you want to make an engine and an editor? That's a lot of work for a school project so better scope it well. I'd suggest using Qt for the editor.




#5259716 Singletons and Game Dev

Posted by bioglaze on 30 October 2015 - 04:14 AM

There are different kinds of globals. Immutable globals are better than mutable.




#5256348 Tell me the 10? ways to API wisdom

Posted by bioglaze on 09 October 2015 - 06:53 AM

All lighting, matrix, fog functions etc. are gone and you have to implement them yourself or use libraries.




#5251315 System requirements

Posted by bioglaze on 09 September 2015 - 05:23 AM

With 1.3 GHz your compile times will be slow.






PARTNERS