プログラミング

プログラミングに関するメモを書きとめています。

C/C++ プログラミング
C/C++プログラミングに関するメモを書きとめています。

Windows プログラミング
Windowsプログラミングに関するメモを書きとめています。

Android プログラミング
Androidプログラミングに関するメモを書きとめています。

PHP プログラミング
PHPプログラミングに関するメモを書きとめています。

グラフィックス プログラミング
グラフィックス プログラミングに関するメモを書きとめています。

OpenGL プログラミング
OpenGL プログラミングに関するメモを書きとめています。

Webをアプリ作る ( Laravel プログラミング )
Webチャットアプリを作る ( Laravel + Pusher ( Publicチャンネル使用 ) )
Laravel と Pusher を用いて、Publicチャンネルを使用し、ユーザー認証なし、誰でも参加できるチャットアプリを作成する方法を解説します。
使用開発環境は、以下です。
PHP : version 8.1.9
Laravel : version 9.27.0
Webチャットアプリ(ユーザー認証あり)を作る ( Laravel + Pusher ( Privateチャンネル使用 ) )
Laravel と Pusher を用いて、Privateチャンネルを使用し、 ユーザー認証あり、認証されたユーザーのみが参加できるチャットアプリを作成する方法を解説します。
使用開発環境は、以下です。
PHP : version 8.1.9
Laravel : version 9.27.0
他のユーザーがログイン中かどうかを表示するアプリを作る ( Laravel + Pusher ( Presenceチャンネル使用 ) )
Laravel と Pusher を用いて、Presenceチャンネルを使用し、他のユーザーがログイン中かどうかを表示するアプリを作成する方法を解説します。
使用開発環境は、以下です。
PHP : version 8.1.9
Laravel : version 9.27.0

Webをアプリ作る ( Node.js プログラミング )
Webチャットアプリを作る ( Node.js + Socket.io )
Node.js と Socket.io を用いて、Webチャットアプリを作成する方法を解説します。
使用開発環境は、以下です。
Node.js : version 8.12.0
Express : version 4.16.3
Socket.io : version 2.1.1
オンライン対戦ゲームを作る ( Node.js + Socket.io )
Node.js と Socket.io を用いて、オンライン対戦ゲームを作成する方法を解説します。
ゲームとしては、戦車対戦ゲームを作ります。
使用開発環境は、以下です。
Node.js : version 8.12.0
Express : version 4.16.4
Socket.io : version 2.2.0
ビデオチャットアプリを作る ( WebRTC + Node.js + Socket.io )
WebRTC と Node.js と Socket.IO を用いて、ビデオチャットアプリを作成する方法を解説します。
WebRTCは、JavaScript APIの一つで、リアルタイムP2P通信を提供します。WebRTCを利用すると、ウェブブラウザをクライアントとして、2つのクライアント間で、映像や音声や独自データをリアルタイムに送受信するウェブアプリケーションを作成することができます。
RTCは、 Real-Time Communicationの略です。
使用開発環境は、以下です。
Node.js : version 10.16.3
Express : version 4.17.1
Socket.IO : version 2.3.0

Webをアプリ作る ( Django プログラミング )
Webチャットアプリを作る ( Django + Channels )
Django と Channels を用いて、Webチャットアプリを作成する方法を解説します。
使用開発環境は、以下です。
Python : version 3.8.6
Django : version 3.1.4
Channels : version 3.0.2
channels-redis : version 3.2.0

チャットアプリ作る ( Android プログラミング )
Androidチャットアプリを作る ( Node.js + Socket.io + Android )
チャットアプリを作成する方法を解説します。
クライアント側のソフトは、Android アプリとして作成します。
サーバー側の処理は、Node.js と Socket.io を用いて作成します。
使用開発環境は、以下です。
Android Studio : 3.4.2
Node.js : version 8.12.0
Express : version 4.16.3
Socket.io : version 2.1.1

通信ソフトを作る ( Android プログラミング )
Bluetooth通信ソフトを作る ( Android Studio 2.3.3 + RN42 )
Bluetoothモジュールと通信をする「Bluetooth通信ソフト」を作成する方法を解説します。
使用開発環境は、Android Studio 2.3.3 です。
使用するBLEモジュールは、 RN42 です。
BLE通信ソフトを作る ( Android Studio 2.3.3 + RN4020 )
Bluetooth Low Energy (BLE) モジュールと通信をする「BLE通信ソフト」を作成する方法を解説します。
使用開発環境は、Android Studio 2.3.3 です。
使用するBLEモジュールは、 RN4020 です。

動画再生ソフトを作る ( Android プログラミング )
Android動画再生アプリを作る ( ExoPlayer + PlayerView )
ExoPlayer を用いて動画再生ソフトを作成する方法を解説します。
動画出力先として、ExoPlayerライブラリ の PlayerView を使用します。
使用開発環境は、以下です。
Android Studio : 4.2.2
ExoPlayer : 2.15.0
Android動画再生アプリを作る ( ExoPlayer + SurfaceView )
ExoPlayer を用いて動画再生ソフトを作成する方法を解説します。
動画出力先として、Android標準ライブラリの SurfaceView を使用します。
使用開発環境は、以下です。
Android Studio : 4.2.2
ExoPlayer : 2.15.0

SurfaceTextureのテクスチャをUnityで描画する方法 ( Android + Unity プログラミング )
Android(Java)のSurfaceTextureのテクスチャをUnityで描画する方法
Android(Java)のSurfaceTextureのテクスチャをUnityで描画する方法をまとめします。

「Android(Java)のSurfaceTextureのテクスチャをUnityで描画する方法」を、失敗(「こうやってもうまくいかない」)も含めて、まとめます。
2021年9月時点における「こうやってもうまくいかなかった」「こうやってうまくいった」のまとめです。

使用開発環境は、以下です。
Unity : 2020.3.12f1
Android Studio : 4.2.2

モデル ビューワ を作る ( Windows プログラミング )
モデル ビューワ を作る ( OpenGL + MFC ) ( Visual C++ 2015版 )
OpenGLとMFCのDoc/Viewアーキテクチャーを用いて再利用可能なOpenGLビュークラスを作成し、作成したOpenGLビュークラスを用いてモデルビューワを作成する方法を解説します。
使用開発環境は、Visual C++ 2015 です。
(使用開発環境が、Visual C++ 2005 の
 モデル ビューワ を作る ( OpenGL + MFC ) ( Visual C++ 2005版 )
 もあります。)
モデル ビューワ を作る ( OpenGL + WindowsAPI ) ( Visual C++ 2015版 )
OpenGLとWindowsAPIを用いて再利用可能なOpenGLレンダラクラスを作成し、作成したOpenGLレンダラクラスを用いてモデルビューワを作成する方法を解説します。
使用開発環境は、Visual C++ 2008 Express Edition Service Pack 1 です。
モデル ビューワ を作る ( Direct3D + WindowsAPI ) ( Visual C++ 2008版 )
Direct3DとWindowsAPIを用いて再利用可能なDirect3Dレンダラクラスを作成し、作成したDirect3Dレンダラクラスを用いてモデルビューワを作成する方法を解説します。
使用開発環境は、Visual C++ 2008 Express Edition Service Pack 1 および DirectX SDK - March 2008 です。

モデルビューア作る ( Android プログラミング )
モデルビューアを作る ( Android + OpenGL ES 1.0/1.1 ) ( Android Studio 2.3.3 版 )
Android SDK と OpenGL ES 1.0 を用いて再利用可能なOpenGLレンダラクラスを作成し、作成したOpenGLレンダラクラスを用いてモデルビューワを作成する方法を解説します。
使用開発環境は、Android Studio 2.3.3 です。

3Dモデルファイルフォーマット
いくつかの3Dモデルファイルフォーマットに関して解説します。