「Skia」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
 
(他の1人の利用者による、間の1版が非表示)
1行目: 1行目:
Skiaとは、Google が開発している、C++ で書かれたオープンソースの汎用2次元コンピュータグラフィックスライブラリである。
+
'''Skia'''(すきあ)とは、[[Google]] が中心となり開発している[[C++]]で書かれた[[オープンソース]]の汎用2次元コンピュータグラフィックスライブラリである。
  
Google Chromeのマルチプラットフォーム対応を支えている縁の下の力持ちである。
+
[[Google Chrome]]のマルチプラットフォーム対応を支えている縁の下の力持ちである。
  
2DCGというと今の時代までOSごと、実行環境ごと、プログラミング言語ごとに仕様がバラバラ。
+
== 概要 ==
WindowsとMacOSでは線や丸を描く方法が違う。
+
2DCGというと今の時代まで[[OS]]ごと、[[プログラミング言語]]ごとに仕様がバラバラ。[[Windows]]と[[MacOS]]では線や丸を描く方法が違うし、それどころか.NETでもJavaでもバージョンごとに線や丸を描く方法が違うという混沌とした状況にある。[[PNG]]や[[JPEG]]の読み書きの方法も乱立している。それどころか[[ビットマップ]]ひとつとってもOSごとに互換性がない。
それどころか.NETでもバージョンごとに線や丸を描く方法が違う。
 
PNGやJPEGの読み書きの方法も乱立している。それどころかビットマップひとつとってもOSごとに互換性がない。
 
  
2DCGはなまじ簡単に実装できるためオレオレライブラリが乱立し、実質的にDirect3DとOpenGLしかない3DCGよりも仕様が乱立しているのが実情だ。
+
2DCGはなまじ簡単に実装できるためオレオレライブラリが乱立し、実質的に[[Direct3D]]と[[OpenGL]]しかない3DCGよりも仕様が乱立しているのが実情だ。
  
そんなものをバラバラにしておく意味があるだろうか。
+
そんなものをバラバラにしておく意味があるだろうか。[[Windows]]でも[[Mac]]でも、[[C++]]でも[[C#]]でもほとんど同じ[[API]]を叩いて同じような結果を得られるべきである。2D描画速度を得るために[[GPU]]を直接叩くレベルの[[プログラミング]]を毎回実装する必要なご時世でもない。そんなものは数パーセントのロスを覚悟で高レベルなライブラリに任せておいて、[[プログラマ]]は難しいことを考えずにアクセラレーションの恩恵を受けたほうがいい。
WindowsでもMacでも、C++でもC#でもほとんど同じAPIを叩いて同じような結果を得られるべきである。
 
2DごとにGPUを直接叩くレベルのプログラミングを毎回実装する必要なご時世でもない。
 
そんなものは高レベルなライブラリに任せておいて、プログラマは難しいことを考えずにアクセラレーションの恩恵を受ければいい。
 
  
 
という思想のものである。
 
という思想のものである。

2018年6月19日 (火) 05:30時点における最新版

Skia(すきあ)とは、Google が中心となり開発しているC++で書かれたオープンソースの汎用2次元コンピュータグラフィックスライブラリである。

Google Chromeのマルチプラットフォーム対応を支えている縁の下の力持ちである。

概要[編集 | ソースを編集]

2DCGというと今の時代までOSごと、プログラミング言語ごとに仕様がバラバラ。WindowsMacOSでは線や丸を描く方法が違うし、それどころか.NETでもJavaでもバージョンごとに線や丸を描く方法が違うという混沌とした状況にある。PNGJPEGの読み書きの方法も乱立している。それどころかビットマップひとつとってもOSごとに互換性がない。

2DCGはなまじ簡単に実装できるためオレオレライブラリが乱立し、実質的にDirect3DOpenGLしかない3DCGよりも仕様が乱立しているのが実情だ。

そんなものをバラバラにしておく意味があるだろうか。WindowsでもMacでも、C++でもC#でもほとんど同じAPIを叩いて同じような結果を得られるべきである。2D描画速度を得るためにGPUを直接叩くレベルのプログラミングを毎回実装する必要なご時世でもない。そんなものは数パーセントのロスを覚悟で高レベルなライブラリに任せておいて、プログラマは難しいことを考えずにアクセラレーションの恩恵を受けたほうがいい。

という思想のものである。

バインディング[編集 | ソースを編集]

  • SkiaSharp = .NET向けのバインディング