Я до сих пор не знаю, в чем именно заключалась проблема, но я прочитал и использовал часть Shadow Mapping в этой книге об OpenGL ES 3.0 , которая работала.
Вполне возможно, что мне пришлось отключить все компоненты цветопередачи с glColorMask, установленным в False.
Я думаю, что это в значительной степени точечно на. По умолчанию Rubygems добавит каталог lib к loadpath, но можно продвинуть любой каталог, который Вы хотите на то использование $: переменная. т.е.
$:.push File.expand_path(File.dirname(__FILE__) + '/../surfcompstuff')
Это означает, когда Вы высказываетесь, surfer.rb
в том dir Вы можете require "surfer"
где угодно и файл будет найден.
Кроме того, как конвенция, классы и одиночные элементы получают файл и модули, получают каталог. Например, если Вы имели LolCatz
модуль и LolCatz::Moar
класс, который был бы похож:
lib/
appname.rb
lolcatz/
moar.rb
Именно поэтому существует lib/appname папка, потому что большинство библиотек находится в appname
пространство имен.
Кроме того, при попытке выполнить команду newgem --simple [projectname]
это быстро генерирует леса для Вас только с предметами первой необходимости для проекта Ruby (и следовательно Драгоценный камень Ruby). Существуют другие инструменты, которые делают это, я знаю, но newgem довольно распространен. Я обычно избавляюсь от файла TODO и всего материала сценария.
Я пытаюсь подражать структуре проекта направляющих, потому что моя команда, которая обычно имеет дело с направляющими, поймет структуру лучше, чем другая конфигурация. Конвенция по Конфигурации - выходящий за край из направляющих.