SDL_SetRenderTarget();咋用
c4droid吧
全部回复
仅看楼主
level 11
丿小夕ve 楼主
#include <SDL2/SDL.h>
#include <SDL2/SDL_ttf.h>
#include <SDL2/SDL_image.h>
SDL_Window *w = NULL;
SDL_Renderer *r = NULL;
SDL_Surface *s = NULL;
SDL_Texture *t=NULL;
void SDL_star();
void SDL_end();
int main(int, char **) {
SDL_star();
SDL_Rect r1 = { 0, 0, 400, 400 }, r2 = {
30, 40, 80, 80};
SDL_SetRenderTarget(r, t);
/**/
SDL_SetRenderDrawColor(r, 86, 97, 118, 129);
SDL_RenderFillRect(r,NULL);
SDL_SetRenderDrawColor(r, 66, 77, 88, 99);
SDL_RenderFillRect(r, &r2);
/**/
SDL_SetRenderTarget(r, NULL);
SDL_RenderCopy(r, t, NULL, &r1);
SDL_RenderPresent(r);
SDL_RenderClear(r);
SDL_Delay(8000);
SDL_Quit();
}
void SDL_star() {
w = SDL_CreateWindow("game", 0, 0, 0, 0, 0);
r = SDL_CreateRenderer(w, -1, SDL_RENDERER_TARGETTEXTURE);
t= SDL_CreateTexture(r, 1, SDL_TEXTUREACCESS_TARGET, 300, 500);
}
void SDL_end() {
SDL_RenderClear(r);
SDL_FreeSurface(s);
SDL_DestroyRenderer(r);
SDL_DestroyWindow(w);
SDL_Quit();
}
/*能对texture渲染么*/
2015年12月31日 23点12分 1
level 11
丿小夕ve 楼主
2016年01月01日 06点01分 3
level 13
我记得Render可以对Texture渲染
2016年01月01日 07点01分 4
是要software 的renderer?
2016年01月01日 10点01分
@丿小夕ve 用SetRenderTag设置一下第二个参数用Texture就好
2016年01月01日 10点01分
@DXKite SetRenderTag()??
2016年01月01日 10点01分
@丿小夕ve 就是标题的那个函数呀。
2016年01月01日 10点01分
level 11
丿小夕ve 楼主
成功了;
t= SDL_CreateTexture(r,0, SDL_TEXTUREACCESS_TARGET, 300, 500);
的第二个参数是什么?
我填了1;难怪t==NULL;
谢谢你@DXKite
2016年01月01日 11点01分 5
[真棒]
2016年01月01日 12点01分
level 11
丿小夕ve 楼主
小白又来了.....
如何create一个任意大小的透明的texture啊
可以直接create或从surface里create么
@DXKite @铃铛兮
2016年01月03日 06点01分 6
level 11
丿小夕ve 楼主
t= SDL_CreateTexture(r,0, SDL_TEXTUREACCESS_TARGET, 300, 500);
得到的是黑色背景的......
2016年01月03日 06点01分 7
把RGBA颜色设置A为0……这个A表示透明度
2016年01月03日 10点01分
@DXKite 咋设置
2016年01月05日 09点01分
@DXKite SDL_SetTextureAlphaMod(SDL_Texture * texture, Uint8 alpha); 没用啊
2016年01月05日 10点01分
1