From 82d4fe7236a9a8129bb388e50b5225004508868c Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Thu, 6 Jun 2019 22:07:56 +0200 Subject: [PATCH] Add texture wrapper. --- profiler/build/win32/Tracy.vcxproj | 2 ++ profiler/build/win32/Tracy.vcxproj.filters | 6 +++++ server/TracyTexture.cpp | 31 ++++++++++++++++++++++ server/TracyTexture.hpp | 13 +++++++++ 4 files changed, 52 insertions(+) create mode 100644 server/TracyTexture.cpp create mode 100644 server/TracyTexture.hpp diff --git a/profiler/build/win32/Tracy.vcxproj b/profiler/build/win32/Tracy.vcxproj index a2ec9f12..3a811396 100644 --- a/profiler/build/win32/Tracy.vcxproj +++ b/profiler/build/win32/Tracy.vcxproj @@ -114,6 +114,7 @@ + @@ -165,6 +166,7 @@ + diff --git a/profiler/build/win32/Tracy.vcxproj.filters b/profiler/build/win32/Tracy.vcxproj.filters index 38617da3..ec971086 100644 --- a/profiler/build/win32/Tracy.vcxproj.filters +++ b/profiler/build/win32/Tracy.vcxproj.filters @@ -93,6 +93,9 @@ imgui + + server + @@ -257,6 +260,9 @@ src + + server + diff --git a/server/TracyTexture.cpp b/server/TracyTexture.cpp new file mode 100644 index 00000000..9743381b --- /dev/null +++ b/server/TracyTexture.cpp @@ -0,0 +1,31 @@ +#include + +#include "TracyTexture.hpp" + +namespace tracy +{ + +void* MakeTexture() +{ + GLuint tex; + glGenTextures( 1, &tex ); + glBindTexture( GL_TEXTURE_2D, tex ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); + return (void*)tex; +} + +void FreeTexture( void* _tex ) +{ + auto tex = (GLuint)_tex; + glDeleteTextures( 1, &tex ); +} + +void UpdateTexture( void* _tex, const char* data, int w, int h ) +{ + auto tex = (GLuint)_tex; + glBindTexture( GL_TEXTURE_2D, tex ); + glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, data ); +} + +} diff --git a/server/TracyTexture.hpp b/server/TracyTexture.hpp new file mode 100644 index 00000000..87e03f04 --- /dev/null +++ b/server/TracyTexture.hpp @@ -0,0 +1,13 @@ +#ifndef __TRACYTEXTURE_HPP__ +#define __TRACYTEXTURE_HPP__ + +namespace tracy +{ + +void* MakeTexture(); +void FreeTexture( void* tex ); +void UpdateTexture( void* tex, const char* data, int w, int h ); + +} + +#endif