Написал заготовку для игры для android на sdl2 и opengl opengl es. При запуске на android пишет такую ошибку.
Assertion failure at
SDL_GL_CreateContext_REAL_(/home/xverizex/projects/SDL2-2.0.9/build/com.xverizex.hack/app/jni/SDL/src/video/SDL_video.c:3471), triggered 1 time:
'window && window->magic == &_this->window_magic'
Хотя код стандартный. Вот.
#include "game.hpp"
#include <stdio.h>
#include "global.hpp"
Game::Game ( )
{
SDL_Init ( SDL_INIT_TIMER | SDL_INIT_VIDEO | SDL_INIT_EVENTS );
SDL_DisplayMode mode;
SDL_GetCurrentDisplayMode ( 0, &mode );
width = mode.w;
height = mode.h;
#if 0
width = 1024;
height = 600;
#endif
global.width = width;
global.height = height;
SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
SDL_GL_SetAttribute ( SDL_GL_CONTEXT_MAJOR_VERSION, 3 );
SDL_GL_SetAttribute ( SDL_GL_CONTEXT_MINOR_VERSION, 0 );
window = SDL_CreateWindow ( "hackingtoday",
0, 0,
width, height,
SDL_WINDOW_OPENGL | SDL_WINDOW_FULLSCREEN );
SDL_GLContext glc;
glc = SDL_GL_CreateContext ( window );
SDL_GL_MakeCurrent ( window, glc );
const GLubyte *version = glGetString ( GL_VERSION );
if ( version == 0 ) {
printf ( "%d\n", glGetError() );
}
if ( version )
printf ( "%s\n", version );
glViewport ( 0, 0, width, height );
glMatrixMode ( GL_PROJECTION );
glLoadIdentity ( );
#if 0
glOrtho ( 0.0f, 1.0, 0.0, 1.0, 0.0f, 1.0f );
#endif
glMatrixMode ( GL_MODELVIEW );
glLoadIdentity ( );
glEnable ( GL_BLEND );
glBlendFunc ( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
}
void Game::loop ( )
{
ShaderManager *sm = new ShaderManager ( );
sm->createProgram ( "sprite" );
Sprite *sprite = new Sprite ( );
sprite->load ( 0 );
sprite->setPos ( 100, 100 );
sprite->setSize ( 256, 256 );
glClearColor ( 1, 1, 1, 1 );
while ( 1 ) {
SDL_Event event;
SDL_PollEvent ( &event );
const Uint8 *state = SDL_GetKeyboardState ( NULL );
if ( state [ SDL_SCANCODE_Q ] ) {
SDL_Quit ( );
std::exit ( EXIT_SUCCESS );
}
glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
sprite->draw ( );
SDL_GL_SwapWindow ( window );
SDL_Delay ( 1 );
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В адаптере в методе bind устанавливаю данные из List (во фрагменте загружаю их туда из Firestore)Но еще нужны данные, которые находятся в другой коллекции
Сначала я ввожу словами числаЗатем на вход программе подаётся значение N — количество записей, которые необходимо обработать Следующие...