°
D()
60 点
30 分

同 人 技 術I 注意事項
1 試験開始の合図があるまで, この問題冊子の中を見てはいけません。
2 問題は第 1 問〜第 3 問の 3 題あり, すべて必須問題です。

3 試験中に問題冊子の不鮮明, ページの落丁・乱丁及び解答用紙の汚れ等に気づいた
場合は, 手を挙げて監督者に知らせなさい。

4 この冊子は同人技術の問題です。同人グラフィック, 同人音楽を選択したのにこの冊子が届いているものは, 手を挙げて監督者に知らせなさい。
5 解答用紙には解答欄以外に次の記入欄があるので, 監督者の指示に従って, それぞれ正しく記入し, マークしなさい。
°
1 受験番号欄
受験番号（数字及び英字）を記入し, さらにその下のマーク欄にマークしなさい。正しくマークされていない場合は, 採点できないことがあります。

°
2 氏名欄, 試験場コード欄
氏名・フリガナ及び試験場コード（数字）を記入しなさい。

6 問題冊子の余白等は適宜利用してよいが, どのページも切り離してはいけません。
7 試験終了後, 問題冊子は持ち帰りなさい。
II 解答上の注意
1 問題中のプログラムは, とくに指定のない限り C++言語によって書かれ, 規格はJIS X 3014:2003『プログラム言語 C++』に準拠するものとします。
2 プログラム中の文字は, サンプルにしたがって正しく判別するようにしなさい。
数字の 1

1

大文字の I（アイ）I

小文字の l（エル）

l

数字の 00

大文字の O（オー）

O

小文字の o（オー）

o1

2

3

同 人 技 術（全問必答）

第 1 問 次の文章を読み, 下の問いに答えよ。（配点 20）
私たち同人開発者が活躍する場として, さまざまな同人誌即売会があるが, ここでは,その中でコミックマーケットについて考えてみよう。コミックマーケットは 1 年に 2 回,夏と冬に, その両方が 東京ビッグサイトで行われる。ここ数年は夏, 冬とも°1

開催が一般的である。参加区分としては, サークル参加者,

2

1日間, スタッフ参加者, 一般参加者の 4 つがあり, 開発者がサークルとして参加するとき, これはサークル参加者としての参加となる。一般参加者というのは, 事前の登録等を必要とせず, 当日主に 作品の°2購入をする来場者のことである。この中には, コミックマーケットの理解しない迷惑な振る舞いをしたり, 本来禁止である°33という理念を徹夜をして近隣住民に迷惑をかけたりという者もおり, 問題となっている。スタッフ参加者は, コミックマーケット運営を行うボランティア参加者である。当日は列の整理等を行う。スタッフ参加をするには,東京で行われる事前の4コミックマーケットでは,に複数回参加しなければならない。
ジャンルごとに開催日を区分している。そのために「ジャン°4ルコード」が規定されており, 例えば「デジタル（その他）」「同人ソフト」「東方 Project」
はいずれも 2 日目に行われるため, 同人ゲームや音楽, 映像作品を求める人はこの日に集まる傾向にある。このような細かい区分がなされているところからも, コミックマーケッ
トの規模の大きさ, そして運営の苦労をうかがい知ることができる。
このように, コミックマーケットはたくさんの参加者の力で作り上げられるものである。単にコミックマーケットを貸し店舗のように見るのではなく, 自らもイベント作りに参加し, また他の参加者の活動に感謝しつつ, 楽しんで参加するのが重要だといえるだろう。

4

問 1 文章中の1に入れるのに最も適当な数字を 1 〜 9 のうちから一つ選べ。

問 2 文章中の2・3・に入れるのに最も適当なものを, 次のそれぞれの4

1 〜 4 のうちから一つずつ選べ。

234

 1 招待参加者

2 特別参加者 3 企業参加者 4 委託参加者
 1 お客様は「神様」です 2「お客様」は存在しない
 3「神は死んだ」
4「サークルのための」コミケ 1 拡大準備集会
2 大発会
 3 コミケ準備集会 4 全体準備集会

1 に関連して, 東京ビッグサイトの所在地として適当な場所を, 次の地図の
問 3 下線部°

1 〜 5 のうちから一つ選べ。

55線かいりん412 に関連して, 作品を購入する際のマナーとして適当でないものを, 次の 1
問 4 下線部°〜 4 のうちから一つ選べ。

6

1

購入する際に, 周りがすいていたので, 作者に過去の作品の感想を伝えた。

2

作者の荷物がかさばらないよう, コミケ終盤に購入するときに 100 円の商品を1000 円札で買い, 900 円のおつりをもらった。
3

購入する際に作者に辛子明太子の差し入れをした。

4

列の最後尾についたので, 最後尾札を持った。

5

3 に関連して, 徹夜をしてはいけない理由として適当でないものを, 次の 1
問 5 下線部°〜 4 のうちから一つ選べ。
1

7

夜の治安は必ずしも良くはなく, 盗難, 恐喝, 性犯罪等に巻き込まれる危険があるから。

2

徹夜をするほどの参加者は, 極度に熱心な何かのファンであるため, 現実と空想の区別がつかなくなってしまう恐れがあるから。

3

徹夜の長時間の野外活動は体力を消耗させ, コミケの苛酷な環境の下で具合を悪くし, 最悪救護のスタッフのお世話になってしまう恐れがあるから。

4

徹夜組の存在で発生する警備活動に多大な費用, 労力がかかり, コミケの運営を難しくするから。

4 に関連して, C78 において, 次のジャンルの組み合わせのうち, 全てのジャ問 6 下線部°

ンルが同じ日に行われる組み合わせでないものを, 次の 1 〜 4 のうちから一つ選べ。

81「ガンダム」「スポーツ」「ゲーム（RPG）」

2「ギャルゲー」「鉄道・旅行・メカミリ」「特撮・SF・ファンタジー」

3「歴史」「創作」「Leaf&Key」

4「FC（少年）」「FC（少女）」「FC（青年）」6

7

第 2 問 次の説明を読んで, 下の問いに答えよ。（配点 20）
コンピューターの性能が向上しつつある今においても, 高速化の重要性が失われたわ
けではない。ここでは, コンピューターに近づくための基本である, ビット演算についてみてみよう。今, アルファチャンネルを持った画像データの処理のコードを書いている。
また, このアルファチャンネルは, 128 以上が不透明, 128 未満が透明という約束にしてあり, 色情報の上 2 バイトに格納してあるものとしよう。この状況で, unsigned int 型の素子の色情報を引数に, その素子が不透明なら true を返す bool 型関数 isTransparent を作りたい。これを単純に書くと次のようになる。なお, この環境では unsigned int 型は 32ビットの情報を保持できるものとする。

bool isTransparent(unsigned int color){
unsigned int alpha = (color & 0xff000000) >>return alpha >= 10 ;9;}しかしこれはまだ冗長である。一旦, このコードを次のように分解してみよう。

bool isTransparent(unsigned int color){
unsigned int a = color & 0xff000000
a >>=9
return a >=10;}
ここで, 4 行目の式の両辺に9ビットの左シフトをかけると,bool isTransparent(unsigned int color){
unsigned int a = color & 0xff000000
return a >= 0x 11 ;}このようになる。さらに, 128 以上 255 以下の数は, 2 進法にすれば必ず1 になる。つまり,1212の桁がの桁が 1 であることと, その数が 128 以上であることは同値である。これを利用して 255 以下の数が 128 以上であるかを判定するには, (判定する数) & 0x 13 を考えればよく, アルファチャンネルはあるのだから,13を99ビットシフトしたところにビット左シフトした, 0x 14 との論理積を取ればよい。

したがって,

8bool isTransparent(unsigned int color){
return color & 0x 14 ;}ここまでコードを簡略化することができた。
問1・ 10 ・ 11 ・ 12 ・ 13 ・ 14 に当てはまる数字として適当な9ものを, 次の選択肢の中からそれぞれ一つ選べ。
162243404605646807128840000000

960000000

080000000

9

第 3 問 次の記事を読んで, 下の問いに答えよ。（配点 20）

New OpenGL 4.0 aims to match DirectX 11
Aiming to keep pace with Microsoft and advance the computing frontier, the group behind OpenGL has announced a new version of its interface designed to make advanced
graphics easier for programmers to handle.
OpenGL 4.0 adds more support for °using a graphics processing unit (GPU) for other1
computing chores and for tesselation, which subdivides a region on a graphics object
into many smaller patches for more detailed imagery. The technology got its start asa graphics library at pioneering Silicon Graphics but has grown into a standard thatworks on many diﬀerent computer systems and overseen by the Khronos Group.
”OpenGL 4.0 exposes the same level of capability of GPUs as DirectX 11,” the competing interface from Microsoft, Khronos said in a presentation. The company announced
the new standard, along with the 3.3 update to the earlier version, at the Game Developers Conference on Thursday.
OpenGL 4.0 is compatible with a technology called OpenCL that’s designed to let
graphics chips handle many chores that otherwise would be the work of the mainprocessor. Graphics chips aren’t suited to all tasks, but they can help with somecomputationally intense work such as videogame physics. Graphics chips are steadily
growing more powerful and widespread since modern operating systems, not just shootem-up videogames, now require 3D graphics abilities.
If you want to plunge into the details, here’s how Khronos describes the new OpenGL
4.0 abilities:• two new shader stages that enable the GPU to oﬄoad geometry °tessellation
2from the CPU;• per-sample fragment shaders and programmable fragment shader input positions
for increased rendering quality and anti-aliasing ﬂexibility;• drawing of data generated by OpenGL, or external APIs such as OpenCL, without
CPU intervention;• shader subroutines for signiﬁcantly increased programming ﬂexibility;• separation of texture state and texture data through the addition of a new object
type called sampler objects;• °64-bit double precision ﬂoating point shader operations and inputs/outputs for3
increased rendering accuracy and quality;• performance improvements, including instanced geometry shaders, instanced arrays, and a new timer query.
10OpenGL also has variations called OpenGL ES for mobile devices including Apple’s
iPhone and WebGL for Web browser applications.
出典:DeepTech http://news.cnet.com/8301-30685_3-20000277-264.html
1 に関連して, このような技術のことを一般になんと言うか。適切なものを
問 1 下線部°

1 〜 4 から一つ選べ。
1GGPU

2

GNU

3GNGPU

4GPGPU152 に関連して, テセレーションとは何かを説明したものとして適切なものを
問 2 下線部°

1 〜 4 から一つ選べ。
1

16

よりきめ細かな画像を実現するためにグラフィックスオブジェクト上の領域を多数の小さな区画に分割する処理

2

より滑らかな映像を実現するために画面のバッファを複数用意する処理

3

よりきめ細かな画像を実現するために小さな画像を複数のコンピュータに演算を分散する処理

4

よりきめ細やかな画像を実現するためにグラフィックスオブジェクト上で情報の補完をする処理

3 に関連して, IEEE 方式の倍精度浮動小数点数で 2.5 をあらわした 2 進数
問 3 下線部°

表示として適切なものを 1 〜 4 から一つ選べ。 17
101000000001000000000000000000000

211000000001000000000000000000000

301000000000000000000000100000000

411000000000000000000000100000000

11

III 参考文献
1 Wikipedia
2 コミックマーケット公式サイト (http://www.comiket.co.jp/)
3 東京国際展示場 (http://www.bigsight.jp/)
4 ゲームプログラマになる前に覚えておきたい技術
5 DeepTech(http://news.cnet.com/8301-30685_3-20000277-264.html)
6 ZENet Japan
http://builder.japan.zdnet.com/news/story/0,3800079086,20410291,00.htm
IV SpecialThanks
Moneto 氏 (http://moneto.blogspot.com/)

12