【发布时间】:2018-05-29 00:38:48
【问题描述】:
我需要构建一个界面,在屏幕左侧显示一个流媒体视频的一部分,而在右侧显示另一部分。像这样https://www.youtube.com/watch?v=fSPXpdVzamo
视频流保存在正在加载到纹理上的内存缓冲区中。我的问题是如何只渲染纹理的一半,我一直在尝试使用 SDL_Rect 但没有任何反应。
这是我的代码的相关部分:
SDL_UpdateTexture(texture, NULL, buffer_start, fmt.fmt.pix.width * 2);
SDL_RenderClear(renderer);
SDL_RenderCopy(renderer, texture, NULL, NULL);
SDL_RenderPresent(renderer);
如果我尝试这样的事情,它不起作用:
SDL_UpdateTexture(texture, NULL, buffer_start, fmt.fmt.pix.width * 2);
SDL_Rect someRect;
someRect.x = 0;
someRect.y = 0;
someRect.w = 1500;
someRect.h = 3000;
SDL_RenderClear(renderer);
SDL_RenderCopy(renderer, texture, NULL, &someRect);
SDL_RenderPresent(renderer);
任何建议都会很棒!
【问题讨论】:
-
定义“不起作用”。我只看到一个有问题的纹理,第二个纹理是否相关?音高怎么了?
-
嘿,“不起作用”我的意思是尽管定义了 SDL_Rect 纹理填充所有渲染(窗口)。