zoukankan      html  css  js  c++  java
  • OpenGL Panorama Player

    JMGL_PANO

    star_war_eve source 1

    Source1

    star_war_eve source 2

    Source1

    1. 介绍

    JMGL_PANO 是Justin开源的一个全景视频播放器(Github)。基于硬件加速的视频解码和OpenGL渲染。仅供个人学习使用,商业使用请联系作者(Justin’s Email: mojing1999@gmail.com)

    2. 相关库

    • OpenGL - OpenGL V3.3
    • GLEW - OpenGL核心库操作
    • GLFW - 和window相关操作
    • FFmpeg - 媒体解码库
    • pthread - 线程库
    • Intel Media SDK - 解码库
    • NV CUDA - 解码库
    • Video codec - 作者基于硬件加速的视频库
    • AnyOption - http://www.hackorama.com/anyoption/

    3. 框架结构

    • FFmpeg/video_codec 媒体处理,输出YUV420图像
    • OpenGL 创建模型,贴图,渲染
    • GLFW 创建显示窗口,处理鼠标键盘输入

    4. 使用

    • Usage: jmgl_pano [option] input_file
    • option: -d decode type, user can select decode library.
      • 0: Auto, 1: Nvidia, 2: Intel, 3: ffmpeg
    • switch view mode by keyboard input:
      • F1 : Rectilinear
      • F2 : Mirror Ball
      • F3 : Fisheye
      • F4 : Little Planet
      • ‘a’ : Auto rotation
      • ‘t’ : Stop auto rotation

    程序截图

    • 全景预览

    rectilinear

    • 水晶球

    mirror

    fisheye

    • 小行星

    planet

    5. TODO list

    • 处理键盘输入
    • 处理鼠标输入
    • 处理触摸屏输入
    • 全景模式变换
      • 全景浏览
      • 鱼眼模式
      • 水晶球模式
      • 小行星模式
    • 优化OpenGL渲染
    • 媒体文件硬解码支持
    • 贴图编码

    注: 本页JPEG图片使用Google guetzli 工具压缩,压缩时间太长,压缩率还可以接受。

  • 相关阅读:
    装箱、拆箱操作发生在
    @Data的注解使用以及在IDEA上安装
    Mysql中 BLOB字段转String的方法
    不属于java语言鲁棒性特点的是
    java object默认的基本方法
    哪个类可用于处理 Unicode?
    类和接口的继承
    抽象类的叙述:
    Hashtable 和 HashMap 的区别是:
    编程之美初赛第一场--焦距
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12288988.html
Copyright © 2011-2022 走看看