Перейти к содержимому


Свернуть чат Чат Открыть чат во всплывающем окне

lz : (час назад) да не, я не)
Yakim (Watco... : (20 часов назад) Егор, ты говоришь так. будто у тебя они есть, так вот, че по чем?))))
Гость : (вчера) Вот бы сейчас, в 2018, читы на мехов гуглить...
lz : (вчера) Ты просто без читов гоняешь.
Yandersen : (вчера) Ниправда, этот сукасадист должен существовать, его не может не быть! Иначе на кого тяготы жизни сваливать?
Yakim (Watco... : (вчера) Юморист от бога, которого нет)))
Гость : (вчера) Бля, я думал это поиск
Гость : (вчера) Читы
Yakim (Watco... : (6 дней назад) Ну как-бы да, насколько я помню, Дуст и Сплайн основатели =) Кажется идея Дуста, реализация Сплайна.
lz : (6 дней назад) Вон даже свалкер2 будет, а ты говоришь. И P4 будет)
Yandersen : (неделю назад) ессниошибаюсь. Якимка, подтверди?..
Yandersen : (неделю назад) Егор, кто такой Дуст надо знать. Он папа Мехов, основатель Скаев, автор оригинальной идеи и главный разраб.
lz : (неделю назад) Всё будет.
lz : (неделю назад) Я его знать не знаю, и, поэтому, как-то безразлично.
Yandersen : (неделю назад) Не, ну остается ещё пол процента вероятности что старческий маразм, который, судя по всему, уже не за горами, толкнет дедулю на кикстартер и жалкую попытку возродить легенду, но если это и случится, это будет жалкий высер и позор, тут гарантированно.
Yandersen : (неделю назад) Ну так, антипример мотивационный. Тип для подверждения утверждения о последнем Джедае в твоем лице.
Yandersen : (неделю назад) Нам? Да незачем канеш. Прост он Батя Мехов, и после многолетней череды ежегодных грез о М3 такое вот отмачивает.
lz : (неделю назад) Он нам зачем?
lz : (неделю назад) Ни тепло ни холодно.
Yandersen : (неделю назад) Так как тебе новостя, что Дуст из Партизанов в Fearea перешел? От же мотает старика из говна в навоз...
Yandersen : (неделю назад) Еще бы. У меня во времена креативные если проект десяток хидеров включал, так я с наскока в лучшем случае все с нуля тупо переписывал, чем разбирался что там где как было. В худшем - тупо закрывал и забывал нах. Ты-то молодец.
lz : (неделю назад) Я бывает открываю, но с наскока не берётся так пока.
lz : (неделю назад) Так там 3 года назад ещё всё почти готово было. Прогресса особо больше и не было. АИ надо и всё считай.
Yandersen : (неделю назад) Егор, ну позязя, там же на вид не так много осталось? Будет играбельно хоть чутка - получится мотивационно, больше шансов что кто-нить из народа подключится.
lz : (неделю назад) Занят пока просто, терпение)
Гость : (неделю назад) Лол, нет)
Yandersen : (неделю назад) Ну, вялотекущие дела - это по моей части. Ты-то как креативность растерял, а Егорка? На тебя ж одна надежда осталась. Дуст вон в Fearea влился уже. Это ж все, мехам хана, а последний из Джедаев стал вялотекущими делами заниматься, вместо того чтоб мир разумных машин от забвения спасать. Ну Егооооор... :(
lz : (3 недель назад) По гитхабу можно посмотреть.
lz : (3 недель назад) Вялотекущий режим. Время от времени чего-то смотрю.
Yandersen : (3 недель назад) Егорушка, ну а как же ремастеред?.. :(
Yakim (Watco... : (4 недель назад) бугага
lz : (4 недель назад) Вытаскивал из блока.
lz : (4 недель назад) Блэт, мои серваки на амазоне под раздачу попали.
Yakim (Watco... : (05 Апрель 2018 - 20:54) :ph34r:
Гость : (22 Март 2018 - 09:37) Благодарю :) (предпочитаю постоянный стабильный заработок)
Yakim (Watco... : (21 Март 2018 - 19:56) пхахаха
lz : (21 Март 2018 - 16:46) Может быть, хочешь знать, как поднять бабла?
lz : (21 Март 2018 - 16:46) Кстати, а проблем с доступом к джойказино у тебя нет?
lz : (21 Март 2018 - 16:02) Активировал.
Гость : (21 Март 2018 - 15:32) Проблемы с активацией аккаунта на форуме... =)
Yakim (Watco... : (19 Март 2018 - 21:37) :ph34r:
Yakim (Watco... : (01 Февраль 2018 - 21:44) ?
Yandersen : (01 Февраль 2018 - 19:04) Проблемы?..
Yakim (Watco... : (31 Январь 2018 - 13:18) Какие проблемы?
lz : (30 Январь 2018 - 16:17) Какие проблемы? Проблемы с другими движками?

Фотография
- - - - -

[GLSL.hpp] - векторная математика как в GLSL

OpenGL GLSL vector vec2 vec3 vec4

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 07 Декабрь 2014 - 01:40

Векторная математика, максимально приближённая к OpenGL Shading Language (GLSL):
 
GLSL.hpp
 
Хеадер содержит базовые классы наподобие GLSL'евских (bvec2, vec3, ivec4, mat3, dmat4...) и операторы для них, а также написанные на ассемблере GLSL-функции (dot, cross, length, normalize, sin, sqrt, abs, mod, tanh, imulExtended, inverse, round, packHalf2x16 и пр.).
GLSL.hpp является однофайловой альтернативой известной библиотеки glm. Также как и в glm, тут упор сделан на максимальное соответствие синтаксиса официальной GLSL документации, однако есть несколько упрощений. В GLSL.hpp нет поддержки half-векторов, а выделение субкомпонентов вектора при свиззлинге выглядит как вызов функции:

vec3 veca(0), vecb(1.f, 2.f, 3.f);
veca.yz() = vecb.zx(); //In GLSL and glm it will look like "veca.yz = vecb.xz;"

Само собой разумеется, в GLSL.hpp нет самплеров, функций работы с ними и пр. элементов GLSL, специфичных для кода шейдеров. Всё остальное есть.

 

Среди функций GLSL часть применима не только к векторам, но и НЕвекторным типам данных (функции типа sqrt, pow и пр.). Чтобы избежать конфликта имён с фукциями стандартной библиотеки math.h эти функции скрыты под неймспейсом "GLSL". Доступиться до них можно так:

#include "GLSL.hpp"
#include <math.h>
//...
float x;
float y = GLSL::sqrt(x);  //sqrt() function from GLSL.hpp is used
float z = sqrt(x);        //sqrt() function from math.h is used
//...
vec2 u;
vec2 v = sqrt(u); //Vector functions do not require namespace selection

Если инструментария GLSL Вам достаточно и math.h подключать нет желания, можно сделать так:

#include "GLSL.hpp"
using namespace GLSL; //Will conflict if <math.h> included as well
//...
float x;
float y = sqrt(x);  //sqrt() function from GLSL.hpp is used

Напоследок добавлю, что в некоторых написанных на ассемблере функциях использованы команды SSE4.1. Это ставит соответствующие требования к компиллятору, жующему GLSL.hpp, а также процессору, грызущему полученный ехе-шник (SSE4.1 начались с Intel Core).



#2 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 07 Январь 2015 - 23:25

Передрал с GLSL всю векторную математику. Единственное отличие в том, что выделение свиззлнутых субкомпонентов вектора выглядит не как в оригинале "MyVec.xwzz" а со скобочками на конце: "MyVec.xwzz()". В остальном всё так же (названия классов, функций, работа операторов).

Передирал с официальной документации, т.к. онлайн-документация, как оказалось, полна багов и неточностей, как будто мартышки копипастали.

Все функции описаны на ассемблере; операторы - пока что нет (инлайнами).

 

Так что вот, официальный релиз такскать, готовый к использованию. Однохеадерная альтернатива библиотеки glm.



#3 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 12 Январь 2015 - 07:23

Добавил невекторные варианты ГЛСЛевских функций. Чтобы не конфликтовали со стандартными функциями из библиотеки math.h, скрыл ГЛСЛевские варианты под неймспейсом GLSL. Подробнее в первом посте.



#4 OFFLINE   Yandersen

Yandersen

    Диванный теоретик

  • Админ
  • 454 сообщений
  • Откуда:Canada
  • Настоящее имя:Ян

Отправлено 21 Январь 2015 - 22:10

Расширил поддержку dvecn векторов - в оригинальном GLSL4.5 некоторые функции определены лишь для vecn векторов (sin, cos, exp и пр.), но я решил, что нет смысла в таком ограничении, так что всё, что применимо к vecn теперь имеет аналог и для dvecn.







Темы с аналогичным тегами OpenGL, GLSL, vector, vec2, vec3, vec4

Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных