ページ「メインページ」と「RenderScript」の間の差分

提供: MonoBook
(ページ間の差分)
ナビゲーションに移動 検索に移動
 
imported>Administrator
 
1行目: 1行目:
[[モノブック]]にようこそ!
+
'''RenderScript'''とは、[[Android]]が採用、搭載している[[CUDA]]に似た[[プログラマブルシェーダー]]である。
  
[[MonoBook]]とは[[コンピューター]]や[[ゲーム]]の話題を中心に何でも書いちゃおうという[[Wiki]]です。[[ウィキペディア|某ウィキ]]では「特筆性がない」「百科事典的ではない」「要出典」と消されるような細かい事項や、くだらない事項まで殴り書きするために立ち上げました。誰でも何でも書いて構いません。そこの[[ROMってる]]アナタも参加してみませんか?
+
== 概要 ==
 +
RenderScriptはAndroid 3.0で登場した機能で、もともとはその名前のとおり3Dレンダリングするためのものであったが、いろいろと試行錯誤を繰り返したのち、Android 4.2でそれらは廃止され、現在ではいわゆる[[OpenCL]]や[[CUDA]]などと類似する[[GPGPU]]向けの[[コンピュートシェーダー]]と2D画像処理向けの組み込み関数群というかたちに落ち着いている。
  
現在、MonoBookには約 [[Special:Statistics|{{NUMBEROFARTICLES}}]] 本の記事があります。
+
このような歴史的背景から名前は「RenderScript」だが実質的には「ComputeScript」である。
  
 +
Androidには標準で[[CPU]][[ドライバ]]が含まれており、とりあえずAndroid 4.2以降であれば[[GPU]]がショボい端末でも動くという特徴がある。
  
 +
Androidが採用している[[Java]]や[[Kotlin]]は[[ビットマップ]]を[[ピクセル]]単位で処理する、いわゆる「[[ポインタ]]を使ってぶん回す」系の処理には死ぬほど向いていない。それを補うのがRenderScriptであり、主に[[Java]]で書くと死ぬほど遅い[[2D]]の[[画像処理]]を書くのに使われる。[[スマホ]]のしょぼい[[GPU]]では「[[GPGPU]]だから速い」という利点はほぼなく、どちらかというと[[Java]]では記述の難しい部分を補う手法、かつ[[NDK]]([[C言語]])のように[[SoC]]に依存するものではない手法という意味合いが強い。
  
<span style="font-size:32px">[http://monobook.org/w/index.php?title=Special:ログイン&returnto=メインページ&returntoquery=action%3Dedit&type=signup アカウントを作成すると便利ですよ]</span><br/>
+
==Xamarin.Android==
<span style="color:white">ひとつ見つけたからと言って背中を見せると命取りですよ</span ><br/>
+
ちなみに[[Xamarin.Android]]ではRenderScriptは一部しかサポートされておらずカスタムカーネル(独自プログラム)などは利用できない。ただXamarin.AndroidではC#がポインタをサポートしているのでRenderScriptを使わずともポインタをぶん回す方法である程度は突破できる。
↑騙されてはいけない、個人情報を抜き取られるぞ!
 
  
==スペシャルページ==
+
==関連項目==
*[[Special:被リンクの多いページ|被リンクの多いページ]]
 
*[[Special:存在しないページへのリンク|望まれているページ]]
 
  
== 最近の更新 ==
+
*[[CUDA]]
<recent limit="20" />
+
*[[OpenCL]]
* [[おっぱい!おっぱい!]]
+
*[[DirectCompute]]
  
== ゲームタイトル一覧 ==
+
==参考文献==
* [[Zeeboのゲームタイトル一覧|Zeebo]] - [[Wiiのゲームタイトル一覧|Wii]] - [[PlayStation3のゲームタイトル一覧|PS3]] - [[XBOX360のゲームタイトル一覧|XBOX360]]
 
* [[NINTENDO DSのゲームタイトル一覧|DS]] - [[PlayStation Portableのゲームタイトル一覧|PSP]]
 
* [[XBOXのゲームタイトル一覧|Xbox]] - [[Dreamcastのゲームタイトル一覧|Dreamcast]] - [[GAMECUBEのゲームタイトル一覧|GAMECUBE]] - [[PlayStation2のゲームタイトル一覧|PS2]]
 
* [[PC-FXのゲームタイトル一覧|PC-FX ]] - [[3DOのゲームタイトル一覧|3DO]] - [[セガサターンのゲームタイトル一覧|サターン]] - [[NINTENDO64のゲームタイトル一覧|NINTENDO64]] - [[PlayStationのゲームタイトル一覧|PS]]
 
* [[PCエンジンのゲームタイトル一覧|PCエンジン]] - [[メガドライブのゲームタイトル一覧|メガドライブ]] - [[スーパーファミコンのゲームタイトル一覧|スーパーファミコン]] - [[レーザーアクティブのゲームタイトル一覧|レーザーアクティブ]] - [[ネオジオのゲームタイトル一覧|ネオジオ]]
 
* [[ゲームボーイのゲームタイトル一覧|ゲームボーイ]] - [[ゲームギアのゲームタイトル一覧|ゲームギア]] - [[リンクスのゲームタイトル一覧|リンクス]]
 
* [[ファミリーコンピュータのゲームタイトル一覧|ファミコン]] - [[セガ・マークIIIのゲームタイトル一覧|セガマークIII]] - [[MSXのゲームタイトル一覧|MSX]]
 
* [[アーケードゲームのゲームタイトル一覧|アーケード]]
 
  
== MonoBook入門の心得 ==
+
*https://developer.android.com/about/versions/android-3.0-highlights.html#graphic
=== 特筆性など必要ない ===
+
*https://developer.android.com/about/versions/android-4.2
すべての事象は[[特筆性]]のない出来事から始まる。
+
*https://developer.android.com/guide/topics/renderscript/compute
  
=== アスキーアート機能を付けてみました ===
+
[[カテゴリ:画像処理]]
* AA向け書式指定
+
[[カテゴリ:シェーダー]]
* 行末改行を<br/>に自動変換
+
[[カテゴリ:Android]]
使い方は、こんな感じです。
 
&lt;aa&gt;
 
(ここにアスキーアート)
 
&lt;/aa&gt;
 
<aa>
 
典型的なメガドラゲームのスタート画面
 
 
 
            ↓【キャラがやたらリアル】
 
            /\__/ヘ
 
     /.:'レ'^:i ,r ,,-‐‐ ‐‐-、ヽ /.:i /.:i   /.:ヘ
 
    /.:/| .:/|..:|i 、_(o)_,: _(o)_,:::| / .::V .:i  / ./| .:|
 
    /.:/ |.:/ | .:|l    ::<    l/.::/ヽ .:l / .;二 .:|
 
  ∠.:/. ~ /__.:|ゝ、/( [三] )ヽ∠.:/ /__::|∠:/ ,/_.:|
 
|T''|  |'フi  | ̄| /ヽ7\ | ̄'フ'''ー、 |>|   !'て ̄~'ヽ
 
l ┤ ├ ,|  |ー',|∧ >'^\ ,ヘ.|-^|~''ヽ .i |ヽ,|   |-' |~'ヽー!
 
ト、 |  |ヽ,|  レ || ┤. ├ヽ|| .|  ノ ノ | ,┤  |  |   L_|
 
ヽ ヽ'  ヽ' /゙'<-\/ /|ー' ̄/ ス |' r|,__ |ヘ,|__ノ .!
 
  \l/\,>'   \ヽ__,>' .|_,ニ| ̄\__ゝ|_∠__||______>.ノ
 
                          ↑【タイトルは
 
        PUSH START BUTTON    メタリックだったり
 
                             ひびが入っていたりして
 
         l>1 PLAYER GAME    .    ハードで渋い雰囲気】
 
              2 PLAYERS GAME
 
              OPTION ←【オプション画面で難易度設定可能だが
 
                       なぜか難易度easyは無く
 
                         逆にhard以上は 充実している
 
                        normal < hard < superhard < mania】
 
      (C) 2CH SOFT  1987 1989
 
 
 
 <スタートボタンを押すと「オ゙マ゙エ゙モ゙ナ゙~ !!」と
 
         おっさんのキンキン合成音声でゲーム開始>
 
</aa>
 
 
 
=== 動画機能を付けてみました ===
 
使い方は、こんな感じです。
 
&lt;movie&gt;動画サイトのURL&lt;/movie&gt;
 
<movie>https://www.youtube.com/watch?v=sforhbLiwLA</movie >
 
<movie>http://www.nicovideo.jp/watch/sm147704</movie>
 
対応動画サイトは以下のとおり
 
* YouTube
 
* ニコニコ動画
 
* Youku
 
 
 
=== その他 ===
 
[https://twitter.com/ProgrammingMono 新規投稿&更新の通知用Twitterアカウントはこちら]
 
 
 
* 2014年2月14日
 
** アカウント登録時の確認メールが飛ばなくなっていました。
 
* 2013年10月19日
 
** 「@ProgrammingMono」に何かしらの返信すると24時間程度で自動的にフォローする仕様にしてみました。
 
** 「@ProgrammingMono: [[ソース読め]]」と[[ツイート]]すると良い事があるかもしれません。
 
* 2013年10月7日
 
** 新アカウント「@ProgrammingMono」を作ってます。
 
* 2013年10月2日
 
** [[腐ってやがる。早すぎたんだ。]] - [[不具合]]、いわゆる[[バグ]]である。
 
 
 
<!-- ここに追加 -->
 
 
 
<!--
 
== 全般 ==
 
* [[.NET Framework]]
 
* [[Mono]]
 
** [[Monoのインストール]]
 
** [[xbuild]]
 
** [[mono-service]]
 
 
 
== Mono関連 ==
 
* [[MonoDevelop]] - Monoプロジェクトで開発がすすめられている汎用の[[統合開発環境]]。
 
* [[MonoTouch]] - [[iPhone]]や[[iPad]]などの[[iOS]]向けアプリ開発環境。
 
* [[Mono for Android]] - [[Android]]向けアプリ開発環境。旧名[[MonoDroid]]。
 
* [[MonoMac]] - Mac OS X向けアプリ開発環境。
 
* [[Unity]] - 重量級ゲームエンジン。
 
* [[PlayStation Suite]] - Android端末およびVita OS(PlayStation Vita)向けのMonoベースの仮想プラットフォーム。
 
 
 
== PlayStation Suite関連 ==
 
; [[PlayStation Suite]]
 
* [[PlayStation Suite SDK]]
 
** [[PlayStation Suite Studio]]
 
** [[PlayStation Suite UI Composer]]
 
** [[PlayStation Suite Simulator]]
 
; ライブラリ
 
* Coreライブラリ
 
** [[Sce.Pss.Core]] - 各種例外など
 
** [[Sce.Pss.Core.Audio]] - オーディオ関連
 
** [[Sce.Pss.Core.Enviroment]] - 動作環境の状態取得など
 
** [[Sce.Pss.Core.Graphics]] - グラフィック関連
 
** [[Sce.Pss.Core.Imaging]] - フォントや画像データなど
 
** [[Sce.Pss.Core.Input]] - パッドやタッチパネルなど
 
* HighLevel
 
** [[Sce.Pss.HighLevel.GameEngine2D]]
 
** [[Sce.Pss.HighLevel.GameEngine2D.Base]]
 
** [[Sce.Pss.HighLevel.Model]]
 
** [[Sce.Pss.HighLevel.Physics2D]]
 
** [[Sce.Pss.HighLevel.UI]]
 
* その他
 
** [[基本クラスライブラリ]]
 
 
 
 
 
; その他、入門記事など
 
* [[PlayStation Suite SDK/プログラムの基本構造]]
 
 
 
== ウェブアプリ開発 ==
 
* [[xsp]] - Monoプロジェクトで開発が進められているASP.NETアプリケーションサーバー。
 
** [[mod_mono]] - xspをApache HTTPdと連動させるモジュール。
 
** [[asp-state]]
 
** [[dbsessmgr]]
 
 
 
* [[ASP.NET]] - 使うな危険。
 
* [[ASP.NET MVC]] - ASP.NET無印とはまったく別物な、元祖ASPに近い感じのフレームワーク。
 
** [[ASP.NET MVC/ルーティング]]
 
** [[ASP.NET MVC/アクション]] - [[ActionResultクラス]]も参照。
 
** [[ASP.NET MVC/ビューエンジン]]
 
** [[ASP.NET MVC/ビューヘルパー]]
 
** [[ASP.NET MVC/セレクター]]
 
** [[ASP.NET MVC/フィルター]]
 
** [[ASP.NET MVC/バインド]]
 
** [[ASP.NET MVC/Scaffolding]]
 
** [[ASP.NET MVC/ディレクティブ構文]]
 
** [[ActionResult]]
 
** [[ASP.NET MVC 1]]
 
** [[ASP.NET MVC 2]]
 
** [[ASP.NET MVC 3]]
 
** [[ASP.NET MVC 4]]
 
* [[ASP.NET Web API]]
 
* [[ASP.NET SPA]] - jQueryの中の人が作ってる「MVCのビューは全部クライアントサイドでやれ」と言わんばかりのぶっ飛んだフレームワーク。
 
* [[WebMatrix]]
 
* [[jQuery]]
 
** [[QUnit]]
 
** [[knockout.js]] - 勉強中
 
** [[sammy.js]] -  勉強中
 
** [[history.js]] -  勉強中
 
** [[nav.js]] -  勉強中
 
** [[upshot.js]] -  勉強中
 
 
 
== 便利ツールなど ==
 
* [[NUnit]]
 
* [[moq]]
 
* [[DynamicJson]]
 
* [[GeckoFX]]
 
* [[SmtpOverSsl]]
 
* [[Pash]]
 
 
 
== データベース ==
 
* [[MySQL Connector/NET]]
 
* [[Dapper]]
 
* [[DbExecutor]]
 
* [[Massive]]
 
* [[PetaPoco]]
 
* [[Soma]] - [[F Sharp|F#]]で書かれている。
 
* [[NHibernate]] - [[Java]]の[[Hibernate]]の移植。
 
* [[Fluent NHibernate]] - NHibernateと名前は似てるが全くの別物。何というか、Hibernateではない何か。
 
* [[Castle ActiveRecord]] - [[Active Record]]実装。
 
* [[SubSonic ActiveRecord]] - [[Active Record]]実装。
 
* [[LINQ to SQL]] - マイクロソフト製。LINQ公開時のデモ用。
 
* [[DbLinq]] - Monoプロジェクト一押しのLINQ to SQLに代わるLINQ to DATABASE。
 
* [[Entity Framework]] - マイクロソフト製の重量級ORM。
 
 
 
== その他 ==
 
その他にはブックマーク的に記載する。
 
* [[Dokan]] および [[DokanNet]] - Windows向けの独自ファイルシステムがアホみたいに簡単に作れてしまう。
 
* [[プログレッシブダウンロード]]
 
* [[循環参照]]
 
* [[null]]
 
* [[冗長]]
 
* [[Google Analytics]] - 意味不明な用語が多い。
 
* [[アイス指数]]
 
* [[ccache]]
 
* [[DOS攻撃]]
 
* [[IOCS]]
 
* [[インハウス]]
 
* [[コンゼロ]]
 
* [[CSharp-SQLite]]
 
* [[ダブルチェックロッキング]]
 
* [[リンクアグリゲーション]]
 
* [[Enterprise Library]]
 
* [[Managed Extensibility Framework]]
 
* [[NetGore]]
 
* [[as a Service]] ([[aaS]])
 
 
 
== TIPS ==
 
* [[C Sharp/DLLのApp.config]]
 
 
 
{{stub}}
 
-->
 
 
 
__NOTOC__
 

2019年5月16日 (木) 04:14時点における最新版

RenderScriptとは、Androidが採用、搭載しているCUDAに似たプログラマブルシェーダーである。

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

RenderScriptはAndroid 3.0で登場した機能で、もともとはその名前のとおり3Dレンダリングするためのものであったが、いろいろと試行錯誤を繰り返したのち、Android 4.2でそれらは廃止され、現在ではいわゆるOpenCLCUDAなどと類似するGPGPU向けのコンピュートシェーダーと2D画像処理向けの組み込み関数群というかたちに落ち着いている。

このような歴史的背景から名前は「RenderScript」だが実質的には「ComputeScript」である。

Androidには標準でCPUドライバが含まれており、とりあえずAndroid 4.2以降であればGPUがショボい端末でも動くという特徴がある。

Androidが採用しているJavaKotlinビットマップピクセル単位で処理する、いわゆる「ポインタを使ってぶん回す」系の処理には死ぬほど向いていない。それを補うのがRenderScriptであり、主にJavaで書くと死ぬほど遅い2D画像処理を書くのに使われる。スマホのしょぼいGPUでは「GPGPUだから速い」という利点はほぼなく、どちらかというとJavaでは記述の難しい部分を補う手法、かつNDKC言語)のようにSoCに依存するものではない手法という意味合いが強い。

Xamarin.Android[編集 | ソースを編集]

ちなみにXamarin.AndroidではRenderScriptは一部しかサポートされておらずカスタムカーネル(独自プログラム)などは利用できない。ただXamarin.AndroidではC#がポインタをサポートしているのでRenderScriptを使わずともポインタをぶん回す方法である程度は突破できる。

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]