mirror of
https://github.com/libretro/RetroArch
synced 2025-04-07 13:23:32 +00:00
(Menu) Create menu_gl_draw_frame
This commit is contained in:
parent
81f3f67232
commit
d6ca2b7e57
@ -159,12 +159,7 @@ static void glui_render_background(settings_t *settings, gl_t *gl,
|
|||||||
glBindTexture(GL_TEXTURE_2D, 0);
|
glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
gl->shader->set_coords(&coords);
|
menu_gl_draw_frame(gl->shader, &coords, &gl->mvp_no_rot, true);
|
||||||
gl->shader->set_mvp(gl, &gl->mvp_no_rot);
|
|
||||||
|
|
||||||
glEnable(GL_BLEND);
|
|
||||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
|
|
||||||
glDisable(GL_BLEND);
|
|
||||||
|
|
||||||
gl->coords.color = gl->white_color_ptr;
|
gl->coords.color = gl->white_color_ptr;
|
||||||
}
|
}
|
||||||
@ -205,12 +200,8 @@ static void glui_render_quad(gl_t *gl, int x, int y, int w, int h,
|
|||||||
coords.color = color;
|
coords.color = color;
|
||||||
glBindTexture(GL_TEXTURE_2D, 0);
|
glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
|
|
||||||
gl->shader->set_coords(&coords);
|
|
||||||
gl->shader->set_mvp(gl, &gl->mvp_no_rot);
|
|
||||||
|
|
||||||
glEnable(GL_BLEND);
|
menu_gl_draw_frame(gl->shader, &coords, &gl->mvp_no_rot, true);
|
||||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
|
|
||||||
glDisable(GL_BLEND);
|
|
||||||
|
|
||||||
gl->coords.color = gl->white_color_ptr;
|
gl->coords.color = gl->white_color_ptr;
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,29 @@
|
|||||||
#include <string/stdstring.h>
|
#include <string/stdstring.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
#ifdef HAVE_OPENGL
|
||||||
|
#include "../../gfx/drivers/gl_common.h"
|
||||||
|
|
||||||
|
static INLINE void menu_gl_draw_frame(
|
||||||
|
const shader_backend_t *shader,
|
||||||
|
struct gl_coords *coords,
|
||||||
|
math_matrix_4x4 *mat,
|
||||||
|
bool blend)
|
||||||
|
{
|
||||||
|
driver_t *driver = driver_get_ptr();
|
||||||
|
shader->set_coords(coords);
|
||||||
|
shader->set_mvp(driver->video_data, mat);
|
||||||
|
|
||||||
|
if (blend)
|
||||||
|
glEnable(GL_BLEND);
|
||||||
|
|
||||||
|
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
|
||||||
|
|
||||||
|
if (blend)
|
||||||
|
glDisable(GL_BLEND);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static INLINE void get_title(const char *label, const char *dir,
|
static INLINE void get_title(const char *label, const char *dir,
|
||||||
unsigned menu_type, char *title, size_t sizeof_title)
|
unsigned menu_type, char *title, size_t sizeof_title)
|
||||||
{
|
{
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
|
|
||||||
#include <file/file_path.h>
|
#include <file/file_path.h>
|
||||||
#include "../../gfx/video_thread_wrapper.h"
|
#include "../../gfx/video_thread_wrapper.h"
|
||||||
#include "../../gfx/drivers/gl_common.h"
|
|
||||||
#include "../../gfx/font_driver.h"
|
#include "../../gfx/font_driver.h"
|
||||||
#include "../../gfx/video_texture.h"
|
#include "../../gfx/video_texture.h"
|
||||||
#include <compat/posix_string.h>
|
#include <compat/posix_string.h>
|
||||||
@ -277,25 +276,6 @@ static void xmb_draw_icon_end(void)
|
|||||||
glDisable(GL_BLEND);
|
glDisable(GL_BLEND);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xmb_draw_frame(
|
|
||||||
const shader_backend_t *shader,
|
|
||||||
struct gl_coords *coords,
|
|
||||||
math_matrix_4x4 *mat,
|
|
||||||
bool blend)
|
|
||||||
{
|
|
||||||
driver_t *driver = driver_get_ptr();
|
|
||||||
shader->set_coords(coords);
|
|
||||||
shader->set_mvp(driver->video_data, mat);
|
|
||||||
|
|
||||||
if (blend)
|
|
||||||
glEnable(GL_BLEND);
|
|
||||||
|
|
||||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
|
|
||||||
|
|
||||||
if (blend)
|
|
||||||
glDisable(GL_BLEND);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void xmb_draw_icon(gl_t *gl, xmb_handle_t *xmb,
|
static void xmb_draw_icon(gl_t *gl, xmb_handle_t *xmb,
|
||||||
GLuint texture, float x, float y,
|
GLuint texture, float x, float y,
|
||||||
float alpha, float rotation, float scale_factor)
|
float alpha, float rotation, float scale_factor)
|
||||||
@ -342,7 +322,7 @@ static void xmb_draw_icon(gl_t *gl, xmb_handle_t *xmb,
|
|||||||
matrix_4x4_scale(&mscal, scale_factor, scale_factor, 1);
|
matrix_4x4_scale(&mscal, scale_factor, scale_factor, 1);
|
||||||
matrix_4x4_multiply(&mymat, &mscal, &mymat);
|
matrix_4x4_multiply(&mymat, &mscal, &mymat);
|
||||||
|
|
||||||
xmb_draw_frame(gl->shader, &coords, &mymat, false);
|
menu_gl_draw_frame(gl->shader, &coords, &mymat, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xmb_draw_icon_predone(gl_t *gl, xmb_handle_t *xmb,
|
static void xmb_draw_icon_predone(gl_t *gl, xmb_handle_t *xmb,
|
||||||
@ -385,7 +365,7 @@ static void xmb_draw_icon_predone(gl_t *gl, xmb_handle_t *xmb,
|
|||||||
coords.color = color;
|
coords.color = color;
|
||||||
glBindTexture(GL_TEXTURE_2D, texture);
|
glBindTexture(GL_TEXTURE_2D, texture);
|
||||||
|
|
||||||
xmb_draw_frame(gl->shader, &coords, mymat, false);
|
menu_gl_draw_frame(gl->shader, &coords, mymat, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xmb_draw_text(menu_handle_t *menu,
|
static void xmb_draw_text(menu_handle_t *menu,
|
||||||
@ -482,7 +462,7 @@ static void xmb_frame_background(menu_handle_t *menu,
|
|||||||
glBindTexture(GL_TEXTURE_2D, 0);
|
glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
xmb_draw_frame(gl->shader, &coords,
|
menu_gl_draw_frame(gl->shader, &coords,
|
||||||
&gl->mvp_no_rot, true);
|
&gl->mvp_no_rot, true);
|
||||||
|
|
||||||
gl->coords.color = gl->white_color_ptr;
|
gl->coords.color = gl->white_color_ptr;
|
||||||
@ -1246,7 +1226,7 @@ static void xmb_draw_cursor(gl_t *gl, xmb_handle_t *xmb, float x, float y)
|
|||||||
matrix_4x4_multiply(&mymat, &mrot, &gl->mvp_no_rot);
|
matrix_4x4_multiply(&mymat, &mrot, &gl->mvp_no_rot);
|
||||||
|
|
||||||
xmb_draw_icon_begin();
|
xmb_draw_icon_begin();
|
||||||
xmb_draw_frame(gl->shader, &coords, &mymat, true);
|
menu_gl_draw_frame(gl->shader, &coords, &mymat, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void xmb_render(void)
|
static void xmb_render(void)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user