空に黒い円が表示されてしまうのは、カメラの Far クリップの距離の範囲から空のポリゴンが外れてしまっているからです
SetCameraNearFar で設定する値は Near は不都合が無い範囲で可能な限り大きく、Far は不都合が無い範囲で
可能な限り小さくするのが理想ですが、今回のように不都合が発生してしまった場合は変更するしかありません
Camera.cpp と Menu.cpp の2箇所で SetCameraNearFar( 1, 1000 ) が実行されていますが、こちらの Far の値を
大きくしたら黒い円は表示されなくなりましたので、よろしければお試しください
SetCameraNearFar( 1, 1000 ) ;
↓
SetCameraNearFar( 1, 1500 ) ;
> また、現在シェーダーの勉強をしたいと思っているのですが、何から手を付けていいのかわからず、
> もしよろしければ管理人さんのお勧めのページや本、勉強方法を教えていただけないでしょうか?
シェーダーは Direct3D の知識が無いと正直扱うのは難しいです
紹介されている動画で使用されているシェーダーは Direct3D 9 時代のものですので、
まずは Direct3D 9 を直接使う方法を学んだ上で、Direct3D 9 のシェーダーの知識を深めるのが
一番の近道だと思います
DXライブラリのオリジナルシェーダー機能は Direct3D 9 のシェーダー機能を扱う場合より制限が多く、
よりシェーダーに対する深い理解が必要なので、DXライブラリのシェーダー機能は Direct3D 9 を
直接扱うかたちでシェーダーが使えるようになってから漸く使える、という代物となっています
( なので、現在DXライブラリのオリジナルシェーダーの機能を使用されている方は、100%に
近い確率で Direct3D 9 を直接扱ったことのある方だと思います )
習得する際は以下のような順番になると思います
・マイクロソフトのサイトから DirectX SDK をダウンロード+インストールする
< DirectX Software Development Kit >
https://www.microsoft.com/en-us/download/details.aspx?id=6812
↓
・DirectX 9 を扱っている参考書やウェブサイトで Direct3D 9 の基礎的な使い方を覚える
書籍は・・・DirectX 9 の書籍を読んだことが無いので分かりませんが、Amazon で
『DirectX』『入門』で書籍を検索すると、DirectX 9 の入門用の書籍が幾つも見つかります
ウェブサイトでは
IKD様のウェブサイト「○×つくろーどっとコム」の DirectX9技術編
http://marupeke296.com/DirectXMain.html
こちらしか見つけられませんでした・・・以前はもっとあったのですが、DirectX 9 自体古いので
無くなってしまったようです
因みに、書籍やウェブサイトでは1から10まで説明されていない場合が多いので、載っているプログラムを
実際に Visual Studio でコンパイルして実行したり改造したりしないと中々理解が深まらなかったりします
↓
・DirectX 9 のシェーダーを主に扱っている参考書やウェブサイトで Direct3D 9 のシェーダーを学ぶ
Direct3D 9 はシェーダーの機能を使わなくても描画を行うことができるので、Direct3D 9 の
基礎的な使い方を解説している書籍やウェブサイトではシェーダーについて何も書かれていないこともあります
なので、Direct3D 9 の基礎的な使い方を学んだ後はシェーダーについての基礎について
解説されている書籍やウェブサイトでシェーダーの基礎を学ぶことになります
ウェブサイトは先ほどと同じところですが、
IKD様のウェブサイト「○×つくろーどっとコム」の プログラマブルシェーダ編
http://marupeke296.com/ProShader_main.html
↑こちらが良いと思います
あと、マイクロソフトのシェーダーに関する資料も重要です
HLSL のリファレンス
https://msdn.microsoft.com/ja-jp/library/bb509638(v=vs.85).aspx
応用については書籍では今給黎 隆様が執筆された「DirectX 9 シェーダプログラミングブック」が、
あと同じく今給黎 隆様のウェブサイトであるこちら
t-pot
http://t-pot.com/
がお勧めです(「PROGRAMMING」の中に Direct3D 9 のシェーダーを使った応用についての記事があります )
↓
・MME用のシェーダーファイル( 拡張子fx )でシェーダー機能をより深く学ぶ
MME用のシェーダーファイルはそのまま Direct3D 9 用のシェーダープログラムのファイルなので、
シェーダーの応用編としては非常にありがたい資料となります
↓
・DXライブラリのオリジナルシェーダー機能を使う
上記の学習を経て漸くDXライブラリのシェーダー機能が使えるようになります
( そして Direct3D 9 を直接使用した場合よりかなり制約が多いので吃驚します・・・ )