@ProCxx

Страница 551 из 2477
Aidar
05.02.2017
06:49:35
? #sample #raytrace
Не опенгл, просто рейтрейс

Alex Фэils?︙
05.02.2017
12:07:50
Влад
05.02.2017
16:41:08
У меня есть некие сущности(номера портов), которые задаются через дефайны: #define IOID_17 0x17 #define IOID_16 0x16 И у меня есть номера каналов(виртуальных), которые привязаны к этим портам. #define CH_1 0x01 #define CH_2 0x02 Ну и какая-то таблица соответствия: #define CH_1_ID IOID_17 #define CH_2_ID IOID_16 Каналы ведут отсчет от нуля, а вот порты могут начинаться с достаточно большого номера и идти не по порядку. Пока мне надо было узнавать номер порта по номеру канала, я обходился такими конструкциями: if (channel = CH_1) { port = CH_1_ID; } А теперь мне надо узнать номер канала по номеру порта. Вторую таблицу делать странно. Какой есть способ создать таблицу соответствия вида IOID_17 <-> CH_1, из которой можно было в любой момент получить как номер порта по номеру канала, так и номер канала по номеру порта. Количество записей до пяти штук, каждому каналу соответствует только один номер порта, и наоборот. После компиляции не меняется.

Иван
05.02.2017
16:47:25
я бы предложил использовать бы два контейнера map

Google
Alex Фэils?︙
05.02.2017
16:47:26
У меня есть некие сущности(номера портов), которые задаются через дефайны: #define IOID_17 0x17 #define IOID_16 0x16 И у меня есть номера каналов(виртуальных), которые привязаны к этим портам. #define CH_1 0x01 #define CH_2 0x02 Ну и какая-то таблица соответствия: #define CH_1_ID IOID_17 #define CH_2_ID IOID_16 Каналы ведут отсчет от нуля, а вот порты могут начинаться с достаточно большого номера и идти не по порядку. Пока мне надо было узнавать номер порта по номеру канала, я обходился такими конструкциями: if (channel = CH_1) { port = CH_1_ID; } А теперь мне надо узнать номер канала по номеру порта. Вторую таблицу делать странно. Какой есть способ создать таблицу соответствия вида IOID_17 <-> CH_1, из которой можно было в любой момент получить как номер порта по номеру канала, так и номер канала по номеру порта. Количество записей до пяти штук, каждому каналу соответствует только один номер порта, и наоборот. После компиляции не меняется.
если каналы с нуля, то можно просто массив енамов канала сделать

Влад
05.02.2017
16:48:30
Alex Фэils?︙
05.02.2017
16:48:41
бинарным поиском мб

Andrei
05.02.2017
16:48:48
А что за язык?

Влад
05.02.2017
16:49:03
си

Andrei
05.02.2017
16:49:04
И сколько элементов?

Бля, понятно.

Влад
05.02.2017
16:49:29
>Количество записей до пяти штук

Alex Фэils?︙
05.02.2017
16:51:01
ща

enum channel { channel_invalid = -1, channel_0 = 0, channel_1, channel_2, channel_3, channel_4 }; enum port { port_3456 = 3456, // channel 3 port_1634 = 1634, // channel 2 port_1023 = 1023, // channel 1 port_890 = 890, // channel 4 port_1111 = 1111 // channel 0 }; port ports[] = { port_1111, // offset 0, directly maps to channel_0 port_1023, // offset 1, directly maps to channel_1 port_1634, port_3456, port_890 }; port port_from_channel(channel ch) { return ports[ch]; } channel channel_from_port(port prt) { for(size_t i = 0; i < 5; i++) { if (ports[i] == prt) { return (channel) i; } } return channel_invalid; }

Влад
05.02.2017
16:53:58
а преобразование канал->порт?

Google
Alex Фэils?︙
05.02.2017
16:56:17
тупо перебор

Berkus
05.02.2017
17:51:35
при 5 элементах перебор быстрее всего, причем unrolled

Влад
05.02.2017
18:07:33
еще вариант

@vvzvlad #define CHANNEL_TABLE \ CHAN(1, 17) \ CHAN(2, 16) #define CHAN(id, io) CHAN_IO_##id = io, enum { CHANNEL_TABLE }; #undef CHAN #define CHAN(id, io) IO_CHAN_##io = id, enum { CHANNEL_TABLE }; #undef CHAN после препроцессинга будет как-то так: enum { CHAN_IO_1 = 17, CHAN_IO_2 = 16, }; enum { IO_CHAN_17 = 1, IO_CHAN_16 = 2, };

Andre
05.02.2017
20:10:52
Reindex.. please wait

Surreal
05.02.2017
20:11:38
Reindex.. please wait
А там лонг дабл до сих пор 8 байтный?

Andre
05.02.2017
20:12:26
Reindex.. please wait

Alex Фэils?︙
05.02.2017
20:14:45
Reindex.. please wait
принтф кривой в вижал студии. там надо другие спецификаторы для long double

там расширение какое-то, ща гляну в хелпе

там есть %lf

но вообще странно.

Vladislav
05.02.2017
20:29:48
Ned Ogl
06.02.2017
04:20:40
Можно ли написать приложение под андроид средствами андроид?

Timofey
06.02.2017
06:18:39
Были даже приложения для этого, бесплатные, но с сильно урезанными возможностями.

Maxim
06.02.2017
06:20:14
Например, AIDE

синий ёж
06.02.2017
06:41:50
Я им иногда пользовался

Daniyal
06.02.2017
07:04:25
Как можно перенаправить/забуферезирровать std::cerr ?

Aidar
06.02.2017
07:05:26
stderr это поток номер 2

Daniyal
06.02.2017
07:05:33
Std::cout легко, у него буфер есть

Google
Aidar
06.02.2017
07:05:37
В консоли перенапавляй куда хочешь

Daniyal
06.02.2017
07:05:49
В смысле прям их кода, в консоли то понятно)

Aidar
06.02.2017
07:06:01
Зачем это делать в проге?

Daniyal
06.02.2017
07:06:47
Я скрипт запускаю из кода, и нужно, получить не только код возврата, но еще и сообщение

Оно кладется в std::cerr, как не трудно догадаться

А чем не устраивает вариант просто посмотреть в вывод терминала я не знаю, мне такую таску дали и я сижу гуглю

Aidar
06.02.2017
07:12:10
Оно кладется не в ваш stderr

Точнее не в cerr а в stderr

Есть ось специфик получения вывода дочернего процесса

Тоесть ваще какого хрена дочерний процесс должен прогонять свой вывод через ваш с++ апи

Daniyal
06.02.2017
07:17:39
Ubuntu.

Daniyal
06.02.2017
07:19:12
Я вообще свято верил, что те потоки, которые в плюсах , и есть те же самые потоки операционки. То есть я не правильно думал да? У плюсов свои потоки, у ОС свои?

Stanislav
06.02.2017
07:27:32
std::cerr.rdbuf(std::out.rdbuf()) как то так

Daniyal
06.02.2017
07:37:12
Пробовал, не работает

Жулик
06.02.2017
07:41:59
2>&1

Daniyal
06.02.2017
07:45:25
И еще вопрос в догонку. Есть в общем буст и такая задача : как только будет нажата ctrl -c при запуске из консольки , то необходимо , что бы все потоки кильнули каждый свои запущенный скрипт. Собственно вопрос как это сделать ? Условные переменные , я так понимаю не подходят, ибо событие это может и вовсе никогда не произойти

Жулик
06.02.2017
07:46:15
Сигналы тебе в помощь

Google
Berkus
06.02.2017
09:41:29
Антон
06.02.2017
10:10:24
Reindex.. please wait

Reindex.. please wait

Reindex.. please wait

мой код не работает

Admin
ERROR: S client not available

Антон
06.02.2017
10:14:14
https://github.com/AoID/aengine/blob/master/src/gl/renderer/gl_postprocess.cpp#L173

Berkus
06.02.2017
10:28:45
если не работает, надо починить

вообще в статье "как правильно задавать вопросы" всё верно пишут - если хотите чтобы вам помогли, детально опишите проблему, как вы пытались ее решить и что у вас не получилось

а "у меня не работает" обычно заканчивается "почини, раз не работает"

Berkus
06.02.2017
10:30:26
как ты понял что проблема там?

может автор этого кода Magnus Norddahl может что-то сказать

Антон
06.02.2017
10:31:00
эту функцию написал я.

Artem
06.02.2017
10:32:58
Заполни эти пункты 1. Я сделал <....> 2. Я ожидал, что <....> 3. На самом деле произошло <...>

Alexander
06.02.2017
10:33:04
обычно пишут, что они хотели получить и что получили, так было бы конкретнее

опередил меня)

Timofey
06.02.2017
10:33:29
Синхронность)

Berkus
06.02.2017
10:33:36
набросились )

эту функцию написал я.
никаких ошибок в консоли тебе opengl не пишет? например кончились фреймбуферы или какую-нибудь еще ересь

Google
Антон
06.02.2017
10:35:20
Заполни эти пункты 1. Я сделал <....> 2. Я ожидал, что <....> 3. На самом деле произошло <...>
1. Я сделал коммит 79392e5b4a880cfbcb451e74cf41ef219cde22af 2. Я ожидал, что тупо отключится синий и зеленый канал (для теста запилил такой шейдер) 3. На самом деле они не отключились

Berkus
06.02.2017
10:36:26
а blend func ты меняешь в шейдере?

покажи код шейдера

Антон
06.02.2017
10:36:57
Reindex.. please wait

Aidar
06.02.2017
10:38:18
Reindex.. please wait

Reindex.. please wait

Антон
06.02.2017
10:38:40
Reindex.. please wait

Reindex.. please wait

Stanislav
06.02.2017
10:38:57
Reindex.. please wait

Антон
06.02.2017
10:39:04
https://github.com/AoID/aengine/blob/master/wadsrc/static/shaders/glsl/lensflare.fp

Aidar
06.02.2017
10:39:28
Лучше всего покажи перехваты gl функций

Антон
06.02.2017
10:39:34
я знаю, что умножение на 0 это как минимум инвалидство

Berkus
06.02.2017
10:39:44
я бы начал с glBlendMode

Aidar
06.02.2017
10:40:04
Плохо 3 раза текстуру трогаешь

Но валидно

Страница 551 из 2477