Niemo

Ответы в темах

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Автор
    Записи
  • в ответ на: Дебаг OpenGL шейдеров #139
    NiemoNiemo
    Участник

    Коллеги, добрый день! У кого есть опыт по сабжу? Хочу побегать по пикселям треугольника во фрагментном шейдере. Есть тулсы вроде RenderDoc, но разработчики пишут, что GL приложения не поддерживаются, используя классическую схему (glShaderSource,glCompileShader), хотя демки на UE\Unity работают. Пробовал создавать дебаг контекст и компилировать шейдеры технологией SPIR-V с оставлением отладочной информации и вызовы glShaderBinary – эффекта ноль. Какие есть способы\инструменты, неужели нельзя отладить программу на GPU? Понятно, что многопоточный код и т.д, но на DirectX\Vulkan это как-то работает.

    RenderDoc поддерживает OpenGL, но только если приложение использует core profile 3.2+. Твоя проблема legacy-контекст (обычный, не core). Добавь при создании окна/контекста флаги: GLFW_OPENGL_CORE_PROFILE и GLFW_OPENGL_COMPAT_PROFILE не используй. Для GLUT или ручного wglCreateContext запроси версию 4.3+. Альтернативы: NVIDIA Nsight Graphics, AMD GPU PerfStudio или старый добрый glGetError/лог-текстуры. SPIR-V тут не при чём.

    в ответ на: Проблема с await #138
    NiemoNiemo
    Участник

    Ошибка в том, что у тебя try: есть, а except или finally нет. Нужно добавить обработку ошибок после try:.

    Добавь после строки с await message.reply(…) вот этот блок (с тем же отступом, что и try):

    python
    except Exception as e:
    await message.reply(f”Ошибка: {e}\nПроверь название города”)
    И не забудь задекорировать функцию get_weather хэндлером сообщений, например:

    python
    @dp.message_handler()
    async def get_weather(message: types.Message):
    # твой код

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)