how to display models to the SDL2 window screen with OpenGL ( C++ )

I recently learned to how use live2d sdk for native, and because of this I also had to learn computer graphic programming, but there was a little difficulty in how to display the live2d model to the screen.

I know there is a sample source code for that (https://github.com/Live2D/CubismNativeSamples/tree/develop/Samples/OpenGL/), but it looks like the code is very complex so I am very difficult to understand it, like what does CubismOffscreenFrame_OpenGLES2 mean, different functions between LAppView::PostModelDraw and LAppView::PreModelDraw, the meaning of the uvVertex variable.


I also found another reference about displaying the model to the screen using c ++ (https://github.com/HTTdesu/SimpleFacerig/blob/master/SimpleFacerig/main.cpp)
but the version of live2d used is outdated, even though it's quite simple there works.

is there another simple example to display the model to the screen with c ++ and opengl? no need with motions, physics, setParam, etc. I just want to see an overview of the model.

This is the file main.cpp that I'm working on, I know this code is bad because of my ignorance about c++ and opengl. When run the program only displays a color according to the glClearColor(0.2f, 0.2f, 0.2f, 1.0f);



But why is the model not displayed on the screen I still don't understand. Is there someone who wants to help me?

Best Answers

  • Answer ✓
    [CLOSED]

    omg i replace window library from SDL2 to glfw, and it works now!
  • Answer ✓
    yeah now i know, the live2d model is invisible because it gives the context version incorrectly, the version that i use to make it look is:

    SDL_GL_SetAttribute (SDL_GL_CONTEXT_MAJOR_VERSION, 3);
    SDL_GL_SetAttribute (SDL_GL_CONTEXT_MINOR_VERSION, 0);


    but I get an warning about the shader version from cubism, so I changed the whole syntax "#version 130" in CubismRenderer_OpenGLES2.cpp to "#version 330".

    and it works now!


Answers

Sign In or Register to comment.