Результаты поиска
| |
Archido | Дата: Суббота, 23 Июля 2016, 10:00 | Сообщение # 1 | Тема: Перевод экранных координат в мировые. |
Сэнсэй
Сейчас нет на сайте
| AlexsSyr Для программиста крайне важно уметь пользоваться гуглом - это очень важный скилл, который экономит кучу времени (: Первая же сылка ведет на stackoverflow, откуда тов. Saitei любезно перевел и предоставил тут всю информацию. Почему бы и самому так не уметь? (: Там даже и код есть (: Все таки форумы более полезны для обсуждения более конкретных деталей \ вопросов, что легко (или вообще) нагуглить не выйдет. Просто мои 5 копеек.
P.S. По глубине скажу, что ее можно взять (прочитать) из depth буфера \ текстуры, либо из полученных координат x,y без конечного z, строить луч по направлению камеры и искать пересечения со всеми объектами, выбирая при этом минимальное расстояние. Последний способ не нуждается во всяких Lock'ах текстур и вообще GAPI независим, но покодить надо будет малость побольше:) Такие дела.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Вторник, 24 Мая 2016, 12:38 | Сообщение # 2 | Тема: DirectX: преобразование координат (screen->world) |
Сэнсэй
Сейчас нет на сайте
| IG_Rich, Цитата IG_Rich ( ) но то-же не получается. Что вообще эта функция возвращает?Вектор из нашего экрана в точку куда кликнули(в мире),в мировых координатах? Да, именно вектор в мировых координатах. Чтобы получить позицию, в которую нужно переместить камеру, требуется еще получить координату глубины(z) - считать пересечение луча с геометрией и искать ближайшую точку пересечения, либо прочитать ее напрямую из depth буфера.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Четверг, 20 Августа 2015, 17:29 | Сообщение # 3 | Тема: Распаковка данных zlib |
Сэнсэй
Сейчас нет на сайте
| Ну а как ты его тогда узнать то собираешься? Посмотри какие коды ошибок эта функция может возвращать... там есть такой, который говорит, что размер буфера недостаточен. Собственно, в большинстве случаев compression ratio не превышает 100%, поэтому просто берешь размер упакованного файла, помноженный на 2 и пытаешься распаковать. Если тебе говорят, что не влезает, то снова умножаешь на 2 и так пока не влезет.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Суббота, 08 Августа 2015, 21:01 | Сообщение # 4 | Тема: Вопрос-Ответ (C++) |
Сэнсэй
Сейчас нет на сайте
| Цитата Gudleifr ( ) А фигня, которую Вы написали, остается фигней. По объективным причинам. Не видать что-то нигде ни причин, ни объективности. Но ты пиши еще.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Суббота, 08 Августа 2015, 20:08 | Сообщение # 5 | Тема: Вопрос-Ответ (C++) |
Сэнсэй
Сейчас нет на сайте
| Цитата Gudleifr ( ) К сожалению, это не решение. А это всего лишь твое субъективное мнение. Я geralex'y на вопрос отвечал, не тебе. Думаю, он сам легко определит, что для него будет решением, а что - нет. То, что думаешь ты - никакой роли не играет.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Суббота, 08 Августа 2015, 19:09 | Сообщение # 6 | Тема: Вопрос-Ответ (C++) |
Сэнсэй
Сейчас нет на сайте
| Gudleifr Ну и "компилируй" на здоровье. Я написал то решение, что проще для меня. Все остальное в руках автора вопроса.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Суббота, 08 Августа 2015, 18:43 | Сообщение # 7 | Тема: Вопрос-Ответ (C++) |
Сэнсэй
Сейчас нет на сайте
| Цитата geralex ( ) Коллеги, подскажите может есть пример реализации проверки в приложении номера мобильного телефона?
Например, +7 код оператора 7-ый номер телефона Регулярными выражениями проще и быстрее всего:
Код include <regex>
...
std::regex regex("\\+7(\\d{3})(\\d{7})"); std::smatch results;
std::string expression = "+79091234567"; std::string rcode, rnumber;
if (std::regex_match(expression, results, regex)) //проверяем на соответствие { auto iter = results.begin(); rcode = *(++iter); //код оператора rnumber = *(++iter); //остаточный номер }
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Понедельник, 03 Августа 2015, 04:42 | Сообщение # 8 | Тема: Выбор ЯП и движка |
Сэнсэй
Сейчас нет на сайте
| Цитата Saitei ( ) В С++ остальное, например, заложено в самом стандарте (работа с файлами, потоки и т.п.). Сказки. Переносимой поддержки юникода нет (здравствуй wchar_t из любимого стандарта), поэтому и работы с файлами тоже. А на стандарт надеются только очень наивные. Есть прецеденты в практике, когда вполне корректный код приводил к падению в глубинах std::map при попытке переноса этого кода на другую платформу(другой компилятор, другая реализация STL). Стандарты стандартами, но бОльшие части ОС специфики пишутся руками (или юзают буст:), правда который в свою очередь точно также написан "руками").
Цитата Saitei ( ) Или С. Обычно многие уроки по компьютерной графики пишутся с упором на эти два языка. Ну он то тут зачем? Его стихия это драйверы и микроконтроллеры. Остальные всего лишь пишут на С++ в стиле С.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Пятница, 15 Мая 2015, 05:57 | Сообщение # 9 | Тема: Как вы относитесь к лямбда-выражениям? |
Сэнсэй
Сейчас нет на сайте
| Большая часть этих "нововведений" прямиком (или идеей) переехала из буста:) Конечно стало поудобнее, но и раньше все это было вполне доступно:)
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Пятница, 01 Мая 2015, 19:35 | Сообщение # 10 | Тема: Движение объекта после поворота в глобальных координатах. |
Сэнсэй
Сейчас нет на сайте
| А в чем конкретно проблема?
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Вторник, 28 Апреля 2015, 17:57 | Сообщение # 11 | Тема: Вопрос-Ответ (C++) |
Сэнсэй
Сейчас нет на сайте
| Цитата gansterm ( ) но как быть то auto_ptr копирует из вектора причем обнуляя его значение в нём. Это только один из видов таких указателей, auto_ptr использует технику разрушающего копирования, поэтому объектом может владеть только один указатель. Тебе нужен shared и скорее всего weak для хранения. Вообще советую нормально ознакомиться с этой темой, что, как и в каких случаях используется... простым копированием примеров тут едва ли можно обойтись.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
Сообщение отредактировал Archido - Среда, 29 Апреля 2015, 05:50 |
|
| |
Archido | Дата: Вторник, 28 Апреля 2015, 10:19 | Сообщение # 12 | Тема: Вопрос-Ответ (C++) |
Сэнсэй
Сейчас нет на сайте
| Цитата gansterm ( ) Как можно проверить что в указателе отсутствуют данные? В указателе нет данных, в нем содержится только адрес области памяти, в которой уже и располагаются эти самые данные. Штука в том, что когда удаляется какой-то объект, память, которую он ранее занимал, не удаляется в прямом смысле слова - она просто перестает принадлежать этому объекту и всем указателям, которые на этот объект\память указывали. Поэтому вот это:Цитата Добавил флаг kill на проверку перед удалением из вектора, а в памяти он весит. Так что обычной проверкой на флаг вроде как справился. в корне не правильно. В этой памяти может располагаться уже совсем другой объект, чем это плохо и чем это грозит нужно объяснять? Однажды там будет краш.
В чем проблема про умные указатели почитать? Они специально придуманы для управления временем жизни объекта, для вот таких вот ситуаций. Могу еще один вариант, конечно, посоветовать: можно хранить указатель на вектор в классе объекта, а позже в деструкторе удалять себя из этого вектора.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
Сообщение отредактировал Archido - Вторник, 28 Апреля 2015, 10:20 |
|
| |
Archido | Дата: Понедельник, 27 Апреля 2015, 18:48 | Сообщение # 13 | Тема: C# заменяет Java |
Сэнсэй
Сейчас нет на сайте
| Цитата KamiRonin ( ) Unity5 использует IL2CPU для формирования релизов.. пиши и запускай себе.. ну если не слабо конечно! Да ладно, прямо той самой космовской тулзой? А пруф будет?:)
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Понедельник, 27 Апреля 2015, 18:27 | Сообщение # 14 | Тема: C# заменяет Java |
Сэнсэй
Сейчас нет на сайте
| Цитата KamiRonin ( ) есть разница - один раз транслируется программа и потом быстро запускается или КАЖДЫЙ РАЗ ЗАНОВО транслируется и потом - запускается!?? Ну есть разница, предкомпиленная программа стартовать будет быстрее, и? А при JIT компиляции после первых, относительно не быстрых секунд запуска большая часть нативного кода окажется в памяти... ну и далее разницы уже никакой.
И чего там про IL2CPU то? Слабо его выхлоп под виндой запустить?
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Понедельник, 27 Апреля 2015, 18:03 | Сообщение # 15 | Тема: C# заменяет Java |
Сэнсэй
Сейчас нет на сайте
| Цитата KamiRonin ( ) ладно ладно.. если у тебя поисковики не пашут кину тебе ссылку.. Я все же надеялся, что это не та самая левая космовская тулза. А сам то использовал это чудо? И где?
Цитата KamiRonin ( ) А вот если нужно нативное приложение работающее на уровне с++ и дальше - то там толка чуть больше чем дофига.. Нет там никаких "уровней С++", не выдумывай. Тот же выхлоп примерно в результате, что и JIT генерит, только предкомпиленный.
Цитата KamiRonin ( ) мне важно что Я МОГУ делать на нем и с каким уровнем затрат Ну лично я против такого подхода ничего не имею. Но фанатеть можно тихонько и про себя.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Понедельник, 27 Апреля 2015, 17:19 | Сообщение # 16 | Тема: Вопрос-Ответ (C++) |
Сэнсэй
Сейчас нет на сайте
| Стоит почитать про smart pointer'ы
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Понедельник, 27 Апреля 2015, 17:14 | Сообщение # 17 | Тема: C# заменяет Java |
Сэнсэй
Сейчас нет на сайте
| Цитата KamiRonin ( ) все сводится к пропагандистам джавы типа Vinchensoo - безаппеляционным и бездоказательным... и их крикам Сказал другой, который еще Vinchensoo фору даст. Сплошное блаблабла.
Цитата KamiRonin ( ) С# с его всепоглощающей многогранностью (от консоли, до форм, от крестиков ноликов - до игр, от снифферов -- до ОС) Ах, ну просто поэзия. И отличный маркетинговый слоган, можно хоть прямо сейчас Майкрософту отправлять.
Цитата KamiRonin ( ) после IL2CPU - учить джаву - это как покупать паровоз вместо магнитного монорельса Что конкретно подразумевается под IL2CPU кстати? Какой-нибудь Ngen? Толку от него все равно не много.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Понедельник, 27 Апреля 2015, 06:08 | Сообщение # 18 | Тема: А зачем вообще нужен АСМ? |
Сэнсэй
Сейчас нет на сайте
| Gudleifr О причинах? Я весь в внимании.
PATCH1 Затралил парня:)
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Воскресенье, 26 Апреля 2015, 18:44 | Сообщение # 19 | Тема: А зачем вообще нужен АСМ? |
Сэнсэй
Сейчас нет на сайте
| Gudleifr Я не вижу там никаких противоречий. И нечего тут мусолить, все слишком очевидно: под конкретную задачу - конкретный инструмент. Всякие костыли оставим любителям извращений.
PATCH1 Параноики и любители костылей - это отдельная тема:) при нормальном раскладе главное понимать, что если приходится прибегать, скажем в шарпе, к unsafe указателям (бывают исключения конечно) и/или попыткам напрямую дергать даже байт код - то инструмент под задачу выбран явно не правильно.
HPlusDiese Боже, какие вставки на асме? Уже давно интринсики были придуманы, под x64 в студии вообще асм вставки запрещены, по вполне очевидным причинам.
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
Archido | Дата: Воскресенье, 26 Апреля 2015, 17:53 | Сообщение # 20 | Тема: А зачем вообще нужен АСМ? |
Сэнсэй
Сейчас нет на сайте
| PATCH1 Процитировал мой пост спустя два года, неплохо:) а чего тему то мусолить? На асме код сейчас совсем не пишут:) для микроконтроллеров, специфики вроде ПО для марсоходов, драйверов - есть си. Для крупных прикладных проектов с требованием к высокой производительности (игровые движки, например) - есть плюсы. Все, что работает поверх сейчас пишется на шарпе, джаве, етс. Всему свое место как говорится.
Цитата Некоторые программисты говорят, что ASM – это недоразумение, а не ЯП А некоторые программисты считают программистов, которые так говорят - большим недоразумением:)
C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
|
|
| |
|