青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

SDL認識

     SDL是一個輕量級的,用C語言開發的多媒體庫。它包含了圖像繪制、文字繪制、事件處理、聲音播放等模塊。因為SDL的易用以及它的擴展庫的完整性,很多2D游戲都使用SDL開發,其中就包括這幾年大熱的移動平臺上的游戲《憤怒的小鳥》。

然后說說從個人角度上看SDL的特點。

1.跨平臺。確確實實是跨了N個平臺,甚至包括NDS這種平臺。有了SDL,你甚至可以在windows、linux、Android上任意移植你的游戲。當然,前提是你目標平臺的編譯器認識你的代碼( ̄▽ ̄)”。有了SDL泥甚至可以只用c語言開發安卓游戲喲。

2.開源。

3.SDL2.0繪圖效率很高。事實上相較之SDL1.2我個人比較喜歡SDL2.0的原因也是在此。個人感覺(其實我沒看過源碼)SDL1.2應該是個跟當年的DirectDraw差不多的東西,像素填充什么的,有相當程度上是要磨CPU的。而SDL2.0從繪圖方式上就革新了,拋棄了之前的surface與clip的模式,把實際繪制的東西改為了Texture,而把之前的surface改為了創建Texture的一個臨時環節。而texure,顧名思義,其實就是DirectX、OpenGL這些底層的3D硬件加速API的貼圖。

當下DirectX、OpenGL標準下的顯卡的渲染管線無非就是:1.把頂點(可以理解成坐標)傳給顯卡 。2.把texture傳給顯卡。 3.告訴顯卡怎么處理這些數據(shader)。 4.顯卡把東西給你顯示出來。而基于DirectX、OpenGL(移動平臺是OpenGL ES)的SDL2.0,正是恰好地利用了當下顯卡的能力。

4.SDL可以用作3D圖像引擎和底層DirectX/OpenGL API的中間層。當然,其實如果把SDL這樣用的話,那就真是很薄的一層了:)

5.易用。這是相對而言的,比如在windows上,你用了SDL這個庫之后,基本就不用去理會Windows那些又臭又長用不著的參數又多的API了。我不是在討論信仰問題也不是要詆毀windows,我是在客觀陳述windows api那個要初始化一個窗口必須要堆100行代碼的設定實在是打擊初學者積極性的事實。

SDL_image、SDL_ttf、SDL_mixer、SDL_net 外部擴展庫,也是不錯的選擇。

性能沒有測試,僅從寫代碼角度上來說,個人感覺2.0將操作給弄得復雜了。

1.2---------------------------------------
只有SDL_Surface的概念,屏幕是surface,圖片,文字等都是surface,
只要將準備好的各種圖片,貼到屏幕里去(SDL_BlitSurface);再刷一下屏幕(SDL_Flip全局的、或SDL_UpdateRect局部的)就ok了。。。

SDL_Init(SDL_INIT_EVERYTHING);

SDL_Surface* screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
SDL_Surface* bmp = SDL_LoadBMP("back.bmp");
SDL_BlitSurface(bmp, 0, screen, 0);
SDL_Flip(screen);

while(SDL_WaitEvent(&e)) {
switch(e.type) {
case SDL_QUIT:
return;
}
}
SDL_Quit();
2.0---------------------------------------
整出了SDL_Window,SDL_Renderer,SDL_Texture新的3個東西。
并且我要畫一張圖,先要得到surface,然后轉換為texture,再臨時貼到renderer,最后才刷屏。

SDL_Init(SDL_INIT_EVERYTHING);

SDL_Window* window = SDL_CreateWindow("hello", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_SHOWN);
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
SDL_Surface* surface = SDL_LoadBMP("back.bmp");
SDL_Texture* texture = SDL_CreateTextureFromSurface(renderer, surface);
SDL_RenderClear(renderer);
SDL_RenderCopy(renderer, texture, 0, 0);
SDL_RenderPresent(renderer);

while(SDL_WaitEvent(&e)) {
switch(e.type) {
case SDL_QUIT:
return;
}
}
SDL_Quit();

其實,我真心不覺得提出SDL_Window,SDL_Renderer,SDL_Texture這些概念先進性在哪里?可能是與openGL的概念保持一致吧。
而且從維護的角度出發,不管sdl2.0性能提升了多少,如果接口本身不需要改動,不是更加好么?

---------------------------------------------
最后我發現,同樣是渲染的窗口
1.2用SDL_Flip(screen);之后被其他窗口擋住之后,回來畫面還是在的;
2.0用SDL_RenderPresent(renderer);之后被其他窗口擋住之后,回來畫面就不在了;

posted on 2016-06-28 00:17 Daywei 閱讀(712) 評論(0)  編輯 收藏 引用 所屬分類: C/C++SDL

<2016年6月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

導航

統計

常用鏈接

留言簿

隨筆分類

隨筆檔案

文章檔案

牛人博客

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美刺激性大交免费视频| 91久久精品国产91久久| 久久婷婷国产麻豆91天堂| 亚洲欧美国产精品专区久久| 在线综合亚洲欧美在线视频| 亚洲天堂av高清| 香蕉成人啪国产精品视频综合网| 午夜精品剧场| 久久久国产精品亚洲一区 | 亚洲影视综合| 久久成年人视频| 欧美成人午夜77777| 欧美日韩一二三四五区| 国产欧美日韩一级| 亚洲黑丝在线| 午夜视频在线观看一区| 久久久久久久久久久成人| 亚洲第一视频网站| 99精品视频免费观看| 亚洲欧美中文字幕| 美乳少妇欧美精品| 国产精品嫩草99a| 亚洲激情网址| 亚洲第一页中文字幕| 在线观看亚洲一区| 99视频精品免费观看| 欧美一区二区三区视频在线| 久久一区二区三区四区五区| 日韩视频在线观看免费| 久久精品噜噜噜成人av农村| 欧美日韩国产一区| 亚洲第一黄网| 亚洲欧美一区在线| 亚洲国产日韩欧美一区二区三区| 午夜免费日韩视频| 国产精品超碰97尤物18| 91久久国产综合久久| 久久福利毛片| 亚洲少妇诱惑| 欧美国产日韩在线| 在线精品福利| 欧美一区二区三区四区在线观看| 亚洲第一中文字幕| 久久九九热免费视频| 国产精品入口66mio| av成人动漫| 亚洲国产三级| 欧美极品影院| 一个人看的www久久| 亚洲国产日韩美| 欧美—级高清免费播放| 亚洲人成人一区二区三区| 欧美暴力喷水在线| 久久综合图片| 亚洲第一级黄色片| 免费在线视频一区| 久久久91精品| 亚洲国产精品精华液网站| 久久久噜噜噜久噜久久| 欧美在线|欧美| 极品日韩久久| 欧美成人日韩| 久久伊人免费视频| 亚洲国产电影| 亚洲人成人77777线观看| 欧美激情1区2区3区| 99精品国产一区二区青青牛奶| 亚洲狠狠丁香婷婷综合久久久| 欧美成年人网站| 中国日韩欧美久久久久久久久| 一本色道久久88精品综合| 国产精品国产精品国产专区不蜜| 亚洲一区二区在线播放| 亚洲伊人一本大道中文字幕| 国产精品日韩久久久| 久久精品国产一区二区电影| 欧美一区日韩一区| 亚洲国产91| 亚洲毛片一区二区| 国产精品主播| 欧美成人日本| 欧美日韩亚洲一区三区| 亚洲一区二区精品在线观看| 亚洲网站在线播放| 午夜精品理论片| 中文久久乱码一区二区| 国产精品美女www爽爽爽| 久久超碰97人人做人人爱| 久久久久久久高潮| 99精品欧美一区二区三区综合在线 | 一本色道久久综合亚洲二区三区 | 亚洲欧洲日本专区| 日韩视频―中文字幕| 国产欧美va欧美va香蕉在| 免费一级欧美片在线观看| 欧美日韩和欧美的一区二区| 欧美在线视频在线播放完整版免费观看 | 欧美一区观看| 一本综合久久| 久久精品视频免费| 亚洲一区二区三区精品动漫| 久久精品国产精品| 午夜激情亚洲| 欧美激情第六页| 久久久国产成人精品| 欧美片在线观看| 免费视频一区| 国产日产欧产精品推荐色 | 久久精品国产成人| 亚洲一区二区三区视频| 久久人体大胆视频| 久久av最新网址| 欧美色欧美亚洲高清在线视频| 欧美寡妇偷汉性猛交| 国内久久婷婷综合| 亚洲一区二区三区成人在线视频精品 | 国产精品免费一区二区三区在线观看 | 欧美成人国产一区二区| 久久激情五月激情| 国产精品乱码久久久久久| 亚洲人成人一区二区在线观看| 在线 亚洲欧美在线综合一区| 亚洲一区国产| 午夜欧美理论片| 欧美日韩一区二区三区在线看 | 亚洲字幕一区二区| 一区二区免费在线播放| 老司机午夜免费精品视频 | 宅男精品视频| 夜色激情一区二区| 欧美精品一区二区三区四区| 欧美超级免费视 在线| 久久精品国产亚洲一区二区三区| 欧美视频亚洲视频| 亚洲免费大片| 国产精品99久久久久久久久| 女同一区二区| 亚洲韩国精品一区| 日韩一区二区免费高清| 欧美日韩国产麻豆| 99视频超级精品| 亚洲网友自拍| 国产精品免费在线| 欧美影院一区| 欧美aa国产视频| 亚洲人成啪啪网站| 欧美人交a欧美精品| 一本色道久久综合亚洲精品不 | 国内成人精品一区| 久久国产精品99精品国产| 老司机亚洲精品| 亚洲精品护士| 国产精品黄页免费高清在线观看| 亚洲一区二区成人| 久久婷婷国产麻豆91天堂| 亚洲国产精品一区二区www在线| 久久久久久国产精品一区| 欧美电影在线观看| aⅴ色国产欧美| 国产欧美精品一区| 久久久久在线观看| 亚洲看片网站| 久久九九免费视频| 99av国产精品欲麻豆| 国产日韩欧美高清| 欧美成人精品h版在线观看| 一区二区欧美精品| 久久久999| av不卡在线观看| 国产专区一区| 欧美日韩精品二区| 性欧美长视频| 亚洲人成网站在线观看播放| 午夜欧美不卡精品aaaaa| 亚洲福利在线视频| 国产精品久久久久久影视| 久久久久久久久久久一区 | 欧美91福利在线观看| 一区二区三区不卡视频在线观看| 久久黄色网页| 夜夜嗨av色综合久久久综合网| 国产亚洲欧美中文| 欧美日韩美女| 久久午夜精品一区二区| 一区二区三区精品国产| 免费日韩视频| 久久久久高清| 香蕉久久久久久久av网站| 91久久中文字幕| 国产真实乱子伦精品视频| 欧美日韩三级在线| 免费中文日韩| 久久久999成人| 亚洲欧美激情视频| 一区二区激情视频| 亚洲黄色影院| 亚洲国产天堂久久综合网| 免费毛片一区二区三区久久久| 欧美一区二区在线播放| 欧美激情亚洲综合一区|