Ви використовуєте застарілий браузер. Цей та інші сайти можуть відображатися в ньому некоректно. Необхідно оновити браузер або спробувати використовувати https://www.google.com/chrome/
Я самописец делаю себе.
Можно в GDI рисовать кривую, но он тупой, если данніе валятся больше 30 - 100 отрезков в секунду - буфер сериал-порта начинает переполняться, не успевает отрисовывать.
OpenGL таких проблем не имеет и рисует, сука, бістро.
Или если есть проще варианты - давай советуй. Мне надо до 10000 Б/с валить в кривую и выводить. Это, к стати, не много. Если в окне 512 точек, то 10к вертексов в сек - это всего 20Гц обновление. Даже меньше.
Нужно перезаписать более сокращенно. Перегнав все кнопки в список или в массив уже получается вместо любого количества однотипного действия все умещается в три строки. Есть ли какие-либо еще способы?
Возможно, но я бы так не радовался своим возрастом, если бы был на твоем месте, ибо тебе получается около 60 и, скорее всего, питюлька используется только при участии таблеток.
Почему оба?
Если речь о "меньше кода", как заявлено изначально - то лучше не создавать массив. Контролы и так доступны по форме, и самый короткий в написании способ - находить их через is и делать что-то пакетно с "только кнопками", "только текстБоксами" и т.д.
Варик, к стати, нубоклассический.
Ті мне лучше скажи что у меня за бред с тао. фриглют.
рисует норм, всё нормально.
Чтобы передавать данные в обычном виде и рисовать понормальному - надо перевернуть ось Y, так как в опенЖэЛе координата 0,0 - верхний левый угол и график рисуерся зеркально.
всё норм. График съехал на средину и рисуется нормально относительно средины окна, +y вверх, -y вниз.
Теперь надо внести оффсет. И, вот, если сделать
Gl.glVertex2d(x1, (y1m+offset)); - всё пизда, куда б я не вносил оффсет и где бы его не брал - рисует где сам захотел, и изменение оффсета программно не работает. Со скроллбара завожу по изменению скроллбар.валуе изменять - не меняется, стоит на месте график. Хотя писать текстом - пишет, и значение меняется.
У тебя тут походу с транкейтом проблемы. Почему Y-координаты объявлены как интовые, а вертексные функции используются для дабла?
Какой размер вьюпорта? Если рисуешь на плоскости в ортогонали, и размер вьюпорта равен области вывода (судя по int y1m=(oscScreen.Height/2)-y1 так и есть), надо целочисленный сабсет юзать.
Походу, где-то там, где происходит суммирование начальной координаты и оффсета, что-то не к тому, к чему нужно приводится и происходит транкейт значения.
Тогда почему не вертекс буферы а вот это glBegin/glEnd?
Я бы сделал что типа FIFO буфера, массив X,Y с длиной равной высоте вьюпорта, в него бы добавлял новое значение в конец, а значение в начале удалял (не скажу сходу как это максимально эффективно сделать на сях), и шейдер, который просто Y-координату подменял бы индексом вершины в массиве (или height - index для инверсии), и выводил бы через glDrawArrays. Ну и дергал перерисовку с нужной частотой. Как-то так.
Подсказка показывает, что там дабл аргументы нужны, но работает и так и так.
Там в другом проблема - в моём незнании опенжээля.
Он просто не рисует. Первый раз, при инициализации формы, рисуется всё, и сетка и кривая, а потом просто нет отрисовки.
P.S. Что такое вертекс буфера я не знаю, но, предполагаю, что та же самая функция с бегин-енд должна просто один раз выполняться.
Да, сейчас она вызывается для каждого отрезка, но это в целях познания вселенной.
Оно и так нихуя не рисует, если начнёт работать как есть - естественно я не буду вертексы кожен раз парами пихать между бегин-енд, а все запихаю и один раз начал-кончил. Но то если хоть один отрезок по Y за бегает.
Кучу хуйни, которой занимался еще 5 лет назад, уже забыл напрочь, а с ОГЛ еще что-то помню
Положил жиззь на какое-то ентерпрайз-говно, а ведь мог давно свой Doom написать
Нужно перезаписать более сокращенно. Перегнав все кнопки в список или в массив уже получается вместо любого количества однотипного действия все умещается в три строки. Есть ли какие-либо еще способы?
Да так что ты преувеличиваешь необходимость шарпа.
Возможно, но я бы так не радовался своим возрастом, если бы был на твоем месте, ибо тебе получается около 60 и, скорее всего, питюлька используется только при участии таблеток.