回答編集履歴

10

追記

2017/07/03 17:50

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
@@ -28,7 +28,9 @@
28
28
 
29
29
 
30
30
 
31
- - GLUT: OpenGLのラッパー、OpenGLの開発者いわくOpenGL直接叩くなとのこと
31
+ - GLUT(deprecated): OpenGLのラッパー、OpenGLの開発者いわくOpenGL直接叩くなとのこと、なお[lunatea
32
+
33
+ さんが言及しているように](https://teratail.com/questions/81709)deprecatedになったので使うべきではない
32
34
 
33
35
 
34
36
 
@@ -72,6 +74,8 @@
72
74
 
73
75
 
74
76
 
77
+ - GLFW: deprecatedになったGLUTの後継。GUI作成機能もある・・・?
78
+
75
79
  - MFC
76
80
 
77
81
  - ATL
@@ -89,3 +93,33 @@
89
93
  - Xamarin
90
94
 
91
95
  - (OpenCV): GUIライブラリじゃないけど最低限の表示くらいはできるので
96
+
97
+
98
+
99
+
100
+
101
+ # 追記
102
+
103
+
104
+
105
+ 質問履歴を遡ってみると・・・うーむ。トータルするとやりたいことは
106
+
107
+
108
+
109
+ - GUIアプリケーションを作りたい
110
+
111
+ - 画像や動画を表示させたい
112
+
113
+ - マルチプラットフォームで
114
+
115
+ - 画像の入出力についても学びたい、作りたい
116
+
117
+ - C++がいい
118
+
119
+
120
+
121
+ というあたりか・・・?まあGUIについては`Imgui`とか`Qt`を使っとけという思い。凝ったGUIがいらないならゲームライブラリだけど`SFML`もよい。ただC++でGUIとか作るもんじゃないと思うので、Xamarinはいいぞ。
122
+
123
+
124
+
125
+ いずれにせよGUIはOSとの緊密な連携によってなされるものでどうやってもOS依存コードは発生することを抑えたい。

9

OS

2017/07/03 17:50

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- まあしかし殆どの場合CPUで画面描画することはないので結果的にDirectXないしOpenGLを叩くことになります。
9
+ まあしかし殆どの場合CPUで画面描画することはないので結果的にDirectXないしOpenGLを叩くことになります。つまり自分でOS作らない限りはOSの支援なしに画像表示することはできません(読み込みだってファイルシステム扱うのにOSの支援が必要やろという話はさておき)。
10
10
 
11
11
 
12
12
 

8

edit image

2017/07/02 07:10

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
@@ -46,15 +46,13 @@
46
46
 
47
47
 
48
48
 
49
+ ![X11](33f526ab3cb5a140d8e1248c2112a62e.png)
50
+
51
+ ![Wayland](334093fb828d9aa74edde0ae318d625b.png)
52
+
49
- ![X11](https://upload.wikimedia.org/wikipedia/commons/thumb/0/03/X_client_server_example.svg/250px-X_client_server_example.svg.png)
53
+ ![Windows](1bd442b0111b99062da66492ee93a742.png)
50
54
 
51
55
 
52
-
53
- ![Wayland](https://ja.wikipedia.org/wiki/Wayland#/media/File:Wayland_display_server_protocol.svg)
54
-
55
-
56
-
57
- ![](https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/46/metablogapi/1817.Windows_technologies_03DEF511.png)
58
56
 
59
57
  ## Wrapper Game Library
60
58
 

7

add image

2017/07/02 07:03

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
@@ -40,7 +40,21 @@
40
40
 
41
41
  - X Window System <- この位置は妥当か????
42
42
 
43
+ - Wayland <- この位置は妥当か????
43
44
 
45
+ - .NET Framework <- この位置は妥当か????
46
+
47
+
48
+
49
+ ![X11](https://upload.wikimedia.org/wikipedia/commons/thumb/0/03/X_client_server_example.svg/250px-X_client_server_example.svg.png)
50
+
51
+
52
+
53
+ ![Wayland](https://ja.wikipedia.org/wiki/Wayland#/media/File:Wayland_display_server_protocol.svg)
54
+
55
+
56
+
57
+ ![](https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/46/metablogapi/1817.Windows_technologies_03DEF511.png)
44
58
 
45
59
  ## Wrapper Game Library
46
60
 

6

GLUT

2017/07/02 07:00

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
@@ -5,6 +5,8 @@
5
5
  そしてもっというと画像入力(というよりdecode)ライブラリも内包した、ファイル名を指定するだけで表示できちゃうライブラリも存在します(ほとんどのGUIライブラリやゲームライブラリ)。
6
6
 
7
7
 
8
+
9
+ まあしかし殆どの場合CPUで画面描画することはないので結果的にDirectXないしOpenGLを叩くことになります。
8
10
 
9
11
 
10
12
 
@@ -19,6 +21,14 @@
19
21
  - DirectX
20
22
 
21
23
  - OpenGL
24
+
25
+
26
+
27
+ ## GPU操作 wrapepr library(Low Layer)
28
+
29
+
30
+
31
+ - GLUT: OpenGLのラッパー、OpenGLの開発者いわくOpenGL直接叩くなとのこと
22
32
 
23
33
 
24
34
 

5

GDI

2017/07/02 06:52

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- - Win32API
29
+ - Win32API(GDI)
30
30
 
31
31
  - X Window System <- この位置は妥当か????
32
32
 

4

ファイル名指定

2017/07/02 06:49

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  そしてそれぞれ要求するフォーマットは違います。`RGBRGB...`という8bit幅の配列だったり`BGRBGR...`という配列だったり、はたまた`RRRRR...BBB...GGG...`という配列だったり・・・。また座標空間も右手座標系だったり左手座標系だったりと様々です。そもそもRGBじゃないこともあります。
4
4
 
5
- そしてもっというと画像入力(というよりdecode)ライブラリも内包した、ファイル名を指定するだけで表示できちゃうライブラリも存在します。
5
+ そしてもっというと画像入力(というよりdecode)ライブラリも内包した、ファイル名を指定するだけで表示できちゃうライブラリも存在します(ほとんどのGUIライブラリやゲームライブラリ)
6
6
 
7
7
 
8
8
 

3

OpenCV

2017/07/02 06:48

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
@@ -65,3 +65,5 @@
65
65
  - Imgui
66
66
 
67
67
  - Xamarin
68
+
69
+ - (OpenCV): GUIライブラリじゃないけど最低限の表示くらいはできるので

2

X

2017/07/02 06:47

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
  - Win32API
30
30
 
31
- - X Window System
31
+ - X Window System <- この位置は妥当か????
32
32
 
33
33
 
34
34
 

1

座標系

2017/07/02 06:46

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
@@ -1,5 +1,67 @@
1
1
  取り出したものを表示するにもライブラリを使うんですね。それはOSが提供しているライブラリであったり、それをラップしたライブラリであったりします。
2
2
 
3
- そしてそれぞれ要求するフォーマットは違います。`RGBRGB...`という8bit幅の配列だったり`BGRBGR...`という配列だったり、はたまた`RRRRR...BBB...GGG...`という配列だったり・・・。
3
+ そしてそれぞれ要求するフォーマットは違います。`RGBRGB...`という8bit幅の配列だったり`BGRBGR...`という配列だったり、はたまた`RRRRR...BBB...GGG...`という配列だったり・・・。また座標空間も右手座標系だったり左手座標系だったりと様々です。そもそもRGBじゃないこともあります。
4
4
 
5
5
  そしてもっというと画像入力(というよりdecode)ライブラリも内包した、ファイル名を指定するだけで表示できちゃうライブラリも存在します。
6
+
7
+
8
+
9
+
10
+
11
+ 以下に例を示します。分け方は適当なので当てにしないように。
12
+
13
+
14
+
15
+ ## GPU操作
16
+
17
+
18
+
19
+ - DirectX
20
+
21
+ - OpenGL
22
+
23
+
24
+
25
+ ## OS Level GUI library
26
+
27
+
28
+
29
+ - Win32API
30
+
31
+ - X Window System
32
+
33
+
34
+
35
+ ## Wrapper Game Library
36
+
37
+
38
+
39
+ - DxLib
40
+
41
+ - open Frameworks
42
+
43
+ - SFML
44
+
45
+ - Unity
46
+
47
+
48
+
49
+ ## Wrapper GUI Library
50
+
51
+
52
+
53
+ - MFC
54
+
55
+ - ATL
56
+
57
+ - Windwos Form
58
+
59
+ - WPF
60
+
61
+ - GTK/GTK+/GTK#
62
+
63
+ - Qt
64
+
65
+ - Imgui
66
+
67
+ - Xamarin