Skip to content

Commit e5b4748

Browse files
sapiersapier
sapier
authored and
sapier
committedAug 28, 2014
Fix only one texture being updated on window resize breaking sidebyside and topbottom 3d modes
1 parent fb2183b commit e5b4748

File tree

1 file changed

+7
-13
lines changed

1 file changed

+7
-13
lines changed
 

‎src/drawscene.cpp

+7-13
Original file line numberDiff line numberDiff line change
@@ -131,18 +131,12 @@ void draw_anaglyph_3d_mode(Camera& camera, bool show_hud, Hud& hud,
131131
void init_texture(video::IVideoDriver* driver, const v2u32& screensize,
132132
video::ITexture** texture)
133133
{
134-
static v2u32 last_screensize = v2u32(0,0);
135-
136-
if (( *texture == NULL ) || (screensize != last_screensize))
134+
if (*texture != NULL)
137135
{
138-
if (*texture != NULL)
139-
{
140-
driver->removeTexture(*texture);
141-
}
142-
*texture = driver->addRenderTargetTexture(
143-
core::dimension2d<u32>(screensize.X, screensize.Y));
144-
last_screensize = screensize;
136+
driver->removeTexture(*texture);
145137
}
138+
*texture = driver->addRenderTargetTexture(
139+
core::dimension2d<u32>(screensize.X, screensize.Y));
146140
}
147141

148142
video::ITexture* draw_image(const v2u32& screensize,
@@ -154,16 +148,16 @@ video::ITexture* draw_image(const v2u32& screensize,
154148
video::SColor skycolor )
155149
{
156150
static video::ITexture* images[2] = { NULL, NULL };
151+
static v2u32 last_screensize = v2u32(0,0);
157152

158153
video::ITexture* image = NULL;
159154

160-
if (psign == RIGHT)
161-
{
155+
if (screensize != last_screensize) {
162156
init_texture(driver, screensize, &images[1]);
163157
image = images[1];
164-
} else {
165158
init_texture(driver, screensize, &images[0]);
166159
image = images[0];
160+
last_screensize = screensize;
167161
}
168162

169163
driver->setRenderTarget(image, true, true,

0 commit comments

Comments
 (0)
Please sign in to comment.