[Музей программирования ]
Главная » Архив материалов
#UPD: Бяки.( Отправил разработчикам эту ошибку. В ответ получил: "Тех. поддержка оказывается только пользователям платных аккаунтов". Вот с каких пор, чтобы сообщить об ошибке, нужно осуществлять подписку? Ну и ладно, я всё равно умею эту ошибку исправлять.)При каждой компиляции шейдера, выводится информационное сообщение об успешной или провальной компиляции.По моему, видеть этот диалог при успешной компиляции вовсе не обязательно, поэтому мы от него избавимся.Для исправления, откройте файл "SoGLSLShaderObject.cpp" и отредактируйте метод SoGLSLShaderObject::load как показано ниже. Пересоберите библиотеку. SoGLSLShaderObject.cpp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56    SbBool SoGLSLShaderObject::isLoaded(void) const { return (this->shaderHandle
Просмотров: 272 | Добавил: admin | Дата: 10.09.2015 | Комментарии (0)

Записи в сообществе не статичны, по возможности я их корректирую, дополняю, исправляю ошибки. К сожалению, в сообществе нельзя выставлять внеочередную дату, поэтому я не могу как-то выделить обновлённые записи. Удалять и создавать новую запись не хочется.На данном этапе к описаниям классов добавляются примеры использования. Это небольшие законченные примеры того, как пользоваться тем или иным классом. Они предельно просты и не реализуют всех возможностей описываемых классов, зато их просто понять.Утилита для подсветки кода также обновляется периодически.
Просмотров: 258 | Добавил: admin | Дата: 10.09.2015 | Комментарии (0)

Хочу рассказать о давно известном факте, на который никогда не обращал внимания. Но знать его нужно, поэтому зафиксирую прямо тут и здесь.Что такое статические методы всем прекрасно известно. Чем статические методы отличаются от методов тоже понятно. Но! От меня долгое время ускользал тот факт, что некоторые методы всегда являются статическими, независимо от использования ключевого слова static. Это операторы new и delete. По своей природе они не могут работать с объектом, т.к. именно они выделяют память для будущего объекта и освобождают её после его удаления. Т.е. в момент их вызова объект ещё либо не создан, либо уже разрушен.Разработчики приняли очень правильное решение избавить программистов от потенциальных ошибок и сделали эти операторы статическими по умолчанию.В приведённом ниже коде операторы new и delete являются статическими методами, поэтому внутри них невозможно использовать указатель на объект this. new & delete.cpp 1 2 3 4 5 6    class Object { public: v ... Читать дальше »
Просмотров: 295 | Добавил: admin | Дата: 10.09.2015 | Комментарии (0)

Как вы могли заметить, листинги с кодом перестали выглядеть красиво. Вот что мне ответили в саппорте:Запрет на использование атрибутов “class” и “id” внутри записей пользователей был введен Живым Журналом как мера по борьбе с фишинговыми атаками.В дальнейшем, возможность использования данных атрибутов будет возвращена для пользователей платных аккаунтов. Вы можете следить за информацией об обновлениях по адресу http://lj-ru-support.livejournal.com/tag/release.На данный момент вы можете использовать атрибут style для элементов записи для присвоения им тех или иных свойств стилей.Примите извинения за неудобства.Утилиту для подсветки кода я, конечно же, перепишу, но старые листинги обновлять не буду. Так что вот.(
Просмотров: 282 | Добавил: admin | Дата: 10.09.2015 | Комментарии (0)

SoAction - базовый класс для всех классов, выполняющих обход граф-сцены, выполняя различные действия (рендеринг, поиск узлов, поиск пересечений и прочее).Использование классов-действий является основным механизмом для выполнения различных действий над граф-сценой.В отличии от узлов граф-сцены, объекты-действия могут создаваться в стеке и будут автоматически уничтожаться при выходе из области видимости (они не имеют счётчика ссылок и их не обязательно создавать в куче).Перед использованием, необходимо создать и настроить объект-действие. Затем вызывается метод apply, в который передаётся корень граф-сцены (это не обязательно должен быть корень всей граф-сцены, но переданный узел будет считаться корнем граф-сцены и поиск будет вестись именно от этого узла), над которой и выполняется заданное действие.Обход графа выполняется в глубину слева-направо, как изображено на рисунке:Следует учесть, что при передаче узла в объект-действие, счётчик ссылок узла увеличивается на единицу, а по заверше ... Читать дальше »
Просмотров: 313 | Добавил: admin | Дата: 10.09.2015 | Комментарии (0)

#include <Inventor/actions/SoSearchAction.h>SoSearchAction - класс, выполняющий поиск по графу-сцене с учётом заданных параметров. Поиск может выполняться по указателю, типу, имени или по комбинации этих критериев. Можно искать первое, последнее или все вхождения, удовлетворяющие заданному критерию поиска.Данный класс не просто находит желаемый объект, но и возвращает полный путь до него, от корня графа. Полученный путь можно использовать для выполнения различных действий, например, для визуализации только этого найденного объекта (в пути содержатся все узлы, от корня дерева, которые необходимо пройти прежде чем будет достигнут заданный узел, включая узлы координат, цветов и всех остальных свойств).В качестве примера я приведу реализации функций, используемых мной для поиска в граф-сценах. Проверку входных данных и файл заголовка я стёр, чтобы уменьшить размер кода. SoSearchAction.cpp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ... Читать дальше »
Просмотров: 260 | Добавил: admin | Дата: 10.09.2015 | Комментарии (0)

#include <Inventor/actions/SoRayPickAction.h> SoRayPickAction - выполняет поиск пересечений луча с граф-сценой. При поиске пересечений с лучом, полученным  из координат мыши, следует обратить внимание на используемые системы координат. В OpenGL начало экраных координат находится в левом нижнем углу и ось Y направлена вверх. Если координаты мыши возвращаются в иной системе координат, то их необходимо скорректировать соответствующим образом. Использование класса поиска пересечений я продемонстрирую на примере функции, выполняющей поиск. После небольших доработок её можно использовать в реальных проектах. testpoint.cpp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 ... Читать дальше »
Просмотров: 281 | Добавил: admin | Дата: 10.09.2015 | Комментарии (0)

Это сообществодля тех, кто знает 4 вещи:1. Что такое C#.2. Что такое void.3. Что такое IL.4. Что такое ldarg.Если вы прошли тест хотя бы на 5%, то вы с нами :)А если серьёзно, то я рад видеть всех кто знает C#, или MSIL.Особенно последнее, ведь хакать Net приложения это так просто, и интересно :)PS Kaban_mefody привет ;)
Просмотров: 261 | Добавил: admin | Дата: 10.09.2015 | Комментарии (0)

Сразу опрос :)Какие инструменты вы используете для разработки (хака)У меня набор маленький пока :)1. VS.NET ;)2. Reflector3. Resharper4. dotTrace5. IlAsm6. IlDasm7. Programmers Notepad8. WinAmp :)Просьба всем, дополнять этот скромный список.Создадим этакий джентльментский набор ;)Так же можно делиться своим опытом, только по MSIL,про C# и так много ресурсов, тот же, любимый RSDN.RU
Просмотров: 326 | Добавил: admin | Дата: 10.09.2015 | Комментарии (0)

По этой ссылке лежит программа (откомпилирована под .NET 2.0)1) предлагается запустить ее на выполнение2) получить исходный код программы на C# через Reflector3) откомпилировать полученный на шаге 2 код и сравнить результаты его выполнения с шагом 1.P.S. для Кипариса, все-таки вчера я был прав, но выпитое пиво мешало мне донести до тебя свою мысль.
Просмотров: 299 | Добавил: admin | Дата: 10.09.2015 | Комментарии (0)

« 1 2 ... 7 8 9 10 11 »