Не, там такой говнокод что переделывать уже хочется.
Надо делать отдельно генерацию данных как у меня, здесь мне все еще кажется вполне приличной созданная конструкция. А вот часть где происходит позиционирование вершин надо бы вынести в отдельный класс, где объектом будет вершина и несколько методов её перемещения и контроля. Вообще надо заморочится системой квадов. Ввести какой-нить менеджер квадов запоминающий какой индекс соответствует четырем вершинам с двумя треугольниками и в какой поверхности они есть. Т.к. квадов из одной поверхности все-таки не хватит, а сотня поверхностей как у меня делает узким местом видеокарту.
Решил сочинять класс вода. Имея в виду перегрузку операторов и используя наследование и виртуальные функции. Это будет эпичная хрень на девиантных методах программирования
// вектор в тридэ
class float3 {
public:
float x;
float y;
float z;
};
//вершина
class vert_data {
public:
int index;
float3 position;
float3 normal;
/*
обновление нормали.
есть четыре вектора (1,0,val00-val10) (0,1,val00-val01) (-1,0,val00-(val-10)) (0,1,val00-(val0-1))
попарно векторное умножение даст четыре нормали сумма/4 результирующая нормаль.
одно вычисление валидно для четырех квадов
*/
};
//квад
class quad {
public:
Handle *surf;
vert_data v00;
vert_data v01;
vert_data v10;
vert_data v11;
int index;
};
//менеджер квадов
class manager {
public:
//массив под поверхности
Handle *surf;
// массив квадов
quad ****sys;
//размер элемента группы квадов.
int size;
};
class water {
public:
manager sea;
manager river;
manager lake;
};
Вот такой мне представляется структура... эмм... комплекса классов для разных типов воды.

Сообщение от impersonalis
неужели есть люди, которые думают, что изучат ЯП, прочитав учебник? Разумеется, надо развиваться и самостоятельно. Однако, благодаря квази-студентам, которые не в состоянии написать диплом, девальвация образования и поддерживается. У меня много примеров студентов, которые работали (в т.ч. и по специальности) и учились (без кавычек). ЧЯДНТ?
Честно говоря, теперь, узнав что автор уже человек с высшим образованием, технарь, не может осилить относительно простую теорию (в которой сам заинтересован - а такая мотивация сдвигает горы), я испытываю батхёрт мне приходит в голову анекдот (изначально он был с полит.подтекстом, но не нашёл оригинала).
http://www.detskie-anekdoty.ru/detsk...po lgoda.html
dsd, умерьте спесь: если б вы были семи пядей во лбу и действительно ценили своё время - вы бы бросили учёбу курсе на первом-втором. А так - гордится тут абсолютно нечем.
Прошу извинить, если обидел. Это сугубо моё мнение. Практика показала, что, разумеется, есть и другие стратегии поведения, но они сопровождаются и другими решениями (типа того, что я привёл: бывает да - ВУЗ не тот выбрал, со специальностью ошибся, недооценил свой интеллект). Думаю, нам всё же пора вернуться к теме обсуждений, а не доказывать друг другу свою крутость.
|
Наверно в Москве строителей готовят в технических вузах. Я учился в технологическом. Математика там преподавалась одну пару в неделю первые два курса, с одним практическим занятием раз в две недели. А всякие сопроматы к математике имеют такое же отношение как и хоровое пение. На технических специальностях помоему дают больше математики за один первый месяц, причем в том числе по часам

. Так что у строителей дело с математикой обстоит может и лучше чем у бухов но едва-едва.
Придумал прикольную защиту от кряканья триальных версий. Делается обычный таймер по которому приложение вырубается.
создается второй таймер, который сработает через время: таймер1+RND(10,240);
Создаем меш, парентим его к камере, создаем поверхность 30-40 тыщ квадов перед камерой, так чтобы они перекрывали обзор, а координаты у вершин образовывающих квад совпадали. Ставим этому мешу xEntityAlpha mesh,0.01. xHideEntity mesh
если таймер2 дотикал до своего времени xShowEntity mesh.
Fatality.
Драйвер видюхи в панике. И даже если после восстановления все ок, это ттттттттрмооооооозззззззззиииииииитттттт адски, а почему не понятно и не видно
Какие-то проблемы, ок вышлите нам екзешник, ага значит проблемы нет?
Это типа можно использовать даже если я не согласен с условиями их лицензии?