xml地图|网站地图|网站标签 [设为首页] [加入收藏]

能源节能

当前位置:手机网投123 > 能源节能 > 3D图形处理库

3D图形处理库

来源:http://www.hshlvy.com 作者:手机网投123 时间:2019-09-24 14:48

Android OpenGL开辟目录

转自 3D图形管理库

前言

OpenGL(全写Open Graphics Library)是内定义了三个跨编制程序语言、跨平台的编制程序接口规范的正规的图形程序接口。它用来三个维度图像(二维的能够),是二个作用庞大,调用方便的最底层图形库。
OpenGL 是行当领域中特别广泛吸纳的 2D/3D 图形 API,其自出生现今已催生了种种计算机平台及设备上的数千能够应用程序。OpenGL是单独于视窗操作系统或任何操作系统的,亦是互连网透明的。在蕴涵CAD、内容创作、财富、娱乐、游戏开垦、成立业、制药业及虚构现实等行当领域中,OpenGL扶助程序猿达成在 PC、职业站、拔尖计算机等硬件器具上的高品质、极具冲击力的高视觉表现力图形管理软件的支出。

高品质软件光栅化渲染器 OpenSW奥迪Q3

1.接纳VS的插件配置OpenGL库

OpenSW宝马7系 —— 用于OpenGL的高品质,中度可增添的软件光栅化渲染器 OpenSWLX570的目标是提供二个高品质,中度可扩大的OpenGL包容软件光栅化渲染器,允许使用未经修改的可视化软件。 ...

1.1开采vs成立二个C++项目(Windows 桌面应用程序)

新建桌面应用程序

图片 1

1.2下载nupengl库

全新 3D 可视化库 ECharts-X

品类—管理Nuget程序包—浏览—在找寻栏输入NupenGL

ECharts-X是 ECharts 团队推出的斩新 3D 可视化库,它是依据 ECharts 的扩大,底层深度整合了 WebGL 库QTEK和 Canvas2D 库ZRender。 特色 混合着搭配...

2.编写OpenGL程序

图片 2

2.1 ggl.h(引进相关库)
#pragma once
#include<windows.h>
#include<gl/freeglut.h>
//如果没有这个库  就从网上下载一个 放进gl目录下
#include<stdio.h>
#include<math.h>
//c中的字符串库
#include<string.h>
//c++中的字符串库
#include<string>
#include<sstream>
#include<vector>
//用来使用Lambda表达式等操作
#include<functional>

 

2.2 scene.h(OpenGL方法注明头文件)
#pragma once
#include "ggl.h"
//3D场景初始化
void Init();
//绘制
void Draw();

}

WebGL 可视化引擎 Cesium.js

2.3 main.c(用来开垦Windows窗口)
#include "scene.h"
#pragma comment(lib,"opengl32.lib")

LRESULT CALLBACK GLWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {

    switch (msg)
    {
    case WM_CLOSE:
        PostQuitMessage(0);
        return 0;

    }
    return DefWindowProc(hwnd, msg, wParam, lParam);
}
INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR IpCmdLine, int nShowCmd) {

    WNDCLASSEX wndclass;
    wndclass.cbClsExtra = 0;
    wndclass.cbSize = sizeof(WNDCLASSEX);
    wndclass.cbWndExtra = 0;
    wndclass.hbrBackground = NULL;
    wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
    wndclass.hIcon = NULL;
    wndclass.hIconSm = NULL;
    wndclass.hInstance = hInstance;
    wndclass.lpfnWndProc = GLWindowProc;
    wndclass.lpszClassName = L"GLWindow";
    wndclass.lpszMenuName = NULL;
    wndclass.style = CS_VREDRAW | CS_HREDRAW;
    ATOM atom = RegisterClassEx(&wndclass);
    if (!atom) {
        MessageBox(NULL, L"Register Fail", L"Error", MB_OK);
        return 0;
    }
    RECT rect;
    rect.left = 0;
    rect.right = 800;
    rect.top = 0;
    rect.bottom = 600;
    AdjustWindowRect(&rect, WS_OVERLAPPEDWINDOW, NULL);

    int windowWidth = rect.right - rect.left;
    int windowHeight = rect.bottom - rect.top;
    HWND hwnd = CreateWindowEx(NULL, L"GLWindow", L"OpenGL Window", WS_OVERLAPPEDWINDOW,
        100, 100, windowWidth, windowHeight,
        NULL, NULL, hInstance, NULL);

    //1.选定像素格式
    HDC dc = GetDC(hwnd);
    PIXELFORMATDESCRIPTOR pfd;
    memset(&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR));
    pfd.nVersion = 1;
    pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR);
    pfd.cColorBits = 32;
    pfd.cDepthBits = 24;
    pfd.cStencilBits = 8;
    pfd.iPixelType = PFD_TYPE_RGBA;
    pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
    int pixelFormat = ChoosePixelFormat(dc, &pfd);
    SetPixelFormat(dc, pixelFormat, &pfd);
    HGLRC rc = wglCreateContext(dc);
    wglMakeCurrent(dc, rc);

    //2.创建渲染环境
    Init();



    ShowWindow(hwnd, SW_SHOW);
    UpdateWindow(hwnd);


    MSG msg;
    while (true) {
        if (PeekMessage(&msg, NULL, NULL, NULL, PM_REMOVE)) {

            if (msg.message == WM_QUIT) {
                break;
            }
            TranslateMessage(&msg);
            DispatchMessage(&msg);


        }
        //3.绘制
        Draw();
        SwapBuffers(dc);
    }
    return 0;
}

Cesium 是透过 Web 浏览器创设 3D 地球和 2D 地图的 JavaScript 库,无需任何插件。Cesium 使用 WebGL 来扩充硬件加速图形化;跨平台;跨浏览器;并且针对动态...

2.4 scene.c(OpenGL绘制主程序)
#include "scene.h"
void Init() {
    //将当前矩阵设置为投影矩阵
    glMatrixMode(GL_PROJECTION);
    /*
    参数1:你看世界垂直方向的视角
    参数2:是画布宽与高的比
    参数3:是你最近可以看到的距离
    参数4:是你最远可以看到的距离
    */
    gluPerspective(50.0f, 800.0f / 600.0f, 0.1f, 1000.0f);
    //模型矩阵
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();


}

//设置点的顺序为为逆时针
//正面;它们的点连接为逆时针方向
//反面:它们的点连接为顺时针方向
void Draw() {
    glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_TRIANGLES);

    //设置当前点颜色
    glColor4ub(255, 255, 255, 255);
    //当前点为白色
    glVertex3f(-0.2f, -0.2f, -1.5f);

    glColor4ub(255, 0, 0, 255);
    //当前点为红色
    glVertex3f(0.2f, -0.2f, -1.5f);

    glColor4ub(0, 255, 0, 255);
    //当前点为红色
    glVertex3f(0.0f, 0.2f, -1.5f);
    glEnd();


}

图片 3

2 运行结果

三角形

WebGL 框架 Blend4Web

Blend4Web 是叁个开源的 WebGL 框架,使用 Blender 作为第一的管理工具。原生帮忙 Blender 的节点材质、NLA 编辑器、例子系统、弹道物理、定位音频等。

图片 4

 

3D应用开荒框架 Minko

Minko是由来自高卢雄鸡的Aerys公司开辟的一套表现力拾壹分上佳的开源跨平台3D应用开垦框架,协理HTML5、iOS、Android、Windows、OS X和Linux,能够用来开荒和计划充分、...

图片 5

依附 WebGL 的可视化图层 deck.gl

deck.gl,是由 Uber 开源的依照 WebGL 的可视化图层。 用于React 的 WebGL 遮罩套件,提供了一组高品质的数目可视化叠合层。为数据可视化用例提供测验、高质量的图层,如 ...

图片 6

节点链接绘制库 Ggraph

Ggraph 是三个依据 D3 营造的繁杂混合图形的库,它扩大了节点和链接的定义。极其适合一组恐怕多组节点连接的显得。 示例代码: 最早化: ggraph.init('container'); ...

图片 7

图片 8

开源图形 API OpenGL

OpenGL™ 是行当领域中可是普及摄取的 2D/3D 图形 API, 其自诞生于今已催生了各类Computer平台及设备上的数千大好应用程序。OpenGL™ 是单身于视窗操作系统或任何操作系统的,亦是网...

 

JS三个维度模型库 Three.js

Three.js 是一款运转在浏览器中的 3D 引擎,你能够用它创建种种三个维度场景,满含了录制机、光影、材料等各类对象。你能够在它的主页上看到看不完精采的亲自去做。不过,那款引擎如今还处在比较不成熟的开...

 

Google三维API O3D

O3D 是贰个开源的 Web API 用来在浏览器上开创分界面加多的交互式的 3D 应用程序。 这是一种基于网页的可控3D标准。此格式期望真正的依照浏览器,独立于操作系统之外,况且支持主流的3D显...

图片 9

三个维度图形渲染库 OGRE 3D

OGRE(Object-Oriented Graphics Rendering Engine,面向对象图形渲染引擎)是四个用C++开拓的面向场景、非常灵活的3D引擎,它目的在于让开荒职员更便于、越来越直...

图片 10

挪动器材上的OpenGL OpenGL ES

OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三个维度图形 API 的子集,针对手机、PDA和游玩主机等嵌入式设备而设计。该API由Khronos...

图片 11

 

Web的3D绘Logo准 WebGL

WebGL是一种3D绘图标准,这种绘图才能标准允许把JavaScript和OpenGL ES 2.0组成在联合具名,通过增添OpenGL ES 2.0的三个JavaScript绑定,WebGL可认为...

图片 12

开源的3D引擎 Gameplay

金立成立商CRUISERIM发布推出跨平台、开源的3D引擎Gameplay。这种3D引擎针对移动平台游戏开采者。 Gameplay及其开垦工具,援助三星10、Playbook 2.0、iOS 5.1、And...

图片 13

3D引擎 Irrlicht Engine

Irrlicht Engine 是四个用C++开采的高质量实时的3D引擎,同有的时候候提供了.NET版本,那是一个跨平台的运用了D3D、OpenGL的3D渲染引擎。

图片 14

OpenGL应用框架 GLFW

GLFW是贰个OpenGL的施用框架,帮助Linux和Windows。GLFW 首要用来处理特定操作系统下的特定义务,举例 OpenGL 窗口管理、分辨率切换、键盘、鼠标以及游戏手柄、沙漏输入...

图片 15

C#的OpenGL类库 SharpGL

SharpGL 能够令你在 Windows Forms 可能 WPF 应用中轻轻易松的施用 OpenGL 开垦图形应用。

图片 16

3D图形开辟库 OpenSceneGraph

OpenSceneGraph是一款高质量的3D图形开辟库。分布应用在可视化仿真、游戏、虚构现实、高档技能研究开发以及建立模型等领域。使用规范的C++和 OpenGL编写而成,能够运作在Windows类别...

图片 17

3D渲染引擎 Genesis3D

Genesis3D 是实时3D渲染蒙受,全体的实时3D的急需。有大气的在线社区,无需付费互连网论坛,多数链接Genesis3D开垦商...你会发觉具备的支撑和工具,您需求早先开荒世界头号的,实时间和空间间维度...

图片 18

Python的OpenGL包 PyOpenGL

Python中要访问OpenGL函数必需抬高三个PyOpenGL包。

Java 3D图形引擎 Catcake

Catcake是一款跨平台的Java 3D图形引擎,最近帮忙PC(J2SE)及Android境况运行(已有诺基亚版规划)。该引擎在易用性和平运动作品质上都有精良的表现,支持周围的玩乐开拓作用,...

图片 19

基于OpenGL的3D图形引擎 jPCT

jPCT是一款基于OpenGL手艺开垦的3D图形引擎(PC情形为标准OpenGL,Android为OpenGL ES), 以Java语言为根基的,具有成效庞大的Java 3D建设方案。该引擎与L...

 

OpenGL图形接口 GLEW

GLEW是一个跨平台的C++扩充库,基于OpenGL图形接口。使用OpenGL的恋人都理解,window近些日子只支持OpenGL1.1的涵数,但 OpenGL今后都发展到2.0上述了,要运用这几个O...

 

OpenGL的C++封装库 OGLplus

OGLplus (oglplus) 是一个仅包罗头文件的 C++ 语言库,用于落到实处八个瘦面向对象的 OpenGL 门面操作接口,提供了电动财富和指标管理的包装,让在 C++ 中利用 OpenGL...

图片 20

三个维度引擎 OpenWebGlobe

OpenWebGlobe是二个高品质的三个维度引擎。可利用于可视化仿真,游戏,三个维度GIS,设想现实等领域。它选用纯javascript编写,能够运作在任何支持HTML5、WebGL的浏览器上。使用O...

图片 21

Qt3D

Qt3D 使用 OpenGL 技术援救 3D 的脚本化 Qt Quick 应用。 获代替码:git clone git://gitorious.org/qt-labs/qt3d.git

图片 22

Java绘制3D图形的类库 Jzy3D

Jzy3D 是二个Java的类库,用来绘制五光十色的三个维度图形,如下图所示:

图片 23

3D 游戏引擎 Azul3D

Azul3D 是贰个用 Go 语言开辟的 3D 游戏引擎。协助 Windows 和 Linux,基于 OpenGL 2.x 的渲染器,基于 OpenAL 的 3D 音频。

 

基于WPF的3D工具箱 Helix 3D Toolkit

Helix 3D Toolkit 是依照WPF的3D工具箱。 目的: 为 3D 开垦提供一些一蹴而就的类 测量试验 WPF 3D 模型的职能 体验 3D 算法 简单 顺便学习 WPF :)

图片 24

2D/3D 图形开采库 Visualization Library

Visualization Library 是多个 C++ 的中间件用来开采基于 OpenGL 2.1 的 2D/3D 应用程序,援助高等特性包蕴 OpenGL Shading 语言、帧缓冲对象...

图片 25

Axiom 3D Engine

Axiom 3D Engine 是二个开源、跨平台的 3D 图形渲染引擎,首要用来 .NET 和 Mono 开采情形。该引擎是 OGRE 引擎的高质量 C# 移植版本。

 

python的3D引擎 Soya 3D

Soya 3D面向对象,它是多少个高档的python 3D引擎。 某个人会发觉Soya是专为Python 3D编制程序而希图的,有个别则认为Soya 3D作为二个3D斯特林发动机是3D世界的UFO。

 

OpenGL4Net

OpenGL4Net 是 C# 对 OpenGL 的封装库。

 

三个维度地图查看工具 mapgl

mapgl 是二个应用 3D 来查阅地图的工具,使用 C 语言和 OpenGL 技巧。

 

Cafu 3D引擎

其一引擎扶助一雨后苦笋3D渲染,材料制作,多游戏用户在线,跨平台和可被多编写翻译器编写翻译。但它选取了双合同,商业版是闭源的,源代码在GPLv3许可证下发表。

 

Flash 3D引擎 Alternativa3D

Altenativa Game发表的一款由ActionScript3.0编写的Flash 3D引擎。 俄罗丝3d引擎塑造商Alternativa有限义务集团近期改成了他们的经营计策,让Alter...

 

Ceres Solver

Ceres Solver 是一个可移植的 C++ 库,可用来建立模型并缓和大型复杂的非线性最小二乘难题。它的确定特征如下: • A simple, expressive API | 简单易读的 AP...

 

 

3D建立模型工具 Vim3D

Vim3D 是一款3D场景查看器/图像深入分析器,是选拔C++和OpenGL来开拓的。 Vim3D是面向开拓者和技术员的,提供了很灵敏方便的情形和有广大通用的工具来营造3D场景。客户能够通过把cha...

图片 26

图表渲染引擎 CubeEngine [国产]

CubeEngine 是自己个人的支付的二个基于 OPENGL ES 2.0 的图纸渲染引擎,意在巩固和睦的在图形学方面包车型大巴编程造诣。 当前发动机援助的严重性作用有: 基本光照,shadowMap生成的...

 

高性能3d图形库 native3d

native3d是一个国产基于 haxe语言的高性能3d图形库。因为haxe的跨平台性,所以它能够支持导出web,flash,html5,cpp,ios,安卓应用。 native3d能够用hxs...

 

3D引擎 Apocalyx

Apocalyx是三个依据OpenGL的3D引擎.

图片 27

glTF

glTF 是 WebGL、 OpenGL ES 和 OpenGL. 运转时的 asset 格式。

 

3D变形模型库 Vega

Vega允许客商模拟和活动复杂对象,实时卷曲、拉伸和扭转对象,有希望产生卡通和玩耍设计员、以及规划复杂结构的程序员的四个强大工具。BSD 许可证允许客户私自使用和改变。程序库的名字是为着回想斯...

图片 28

3D头像工具包 Xface

Xface 蕴含一组开源的工具包用于成立 MPEG-4 和关键帧的 3D 谈话头像。

图片 29

跨平台3d引擎 Phoenix3d [国产]

Phoenix3d 是一款跨平台3d引擎,使用c++实行付出,协理Windows,Andorid,IOS上的3d程序开辟。它满含了游戏支付所必得的建设构造,具备完全的卡通,特效,UI系统等。它是用c...

 

Tree Generator

Tree Generator 是一个 .NET 库来生成 3D 树和森林模型。

图片 30

实时3D引擎 GLOBE_3D

GLOBE_3D 是二个实时的3D引擎,具有可移植的表征,援助许多阳台,接纳 Ada语言开拓。 real-time rendering (fast with a 3D hardware-acc...

图片 31

OpenGL 的子集 TinyGL

TinyGL 是提必要嵌入式系统只怕游戏的万分小的 OpenGL 子集。TinyGL 只兑现了 OpenGL 的要紧函数调用。 TinyGL 最大的表征是快,轻易,不完全匹配OpenGL。最特...

 

 

实时 3D 应用编制程序语言 Tao3D

Tao3D 是多个编制程序语言用于实时的交互式 3D 操作。你可以轻巧创设动态、交互、丰盛多少展现的 3D 应用。

图片 32

收藏 6

依附CSS3的3D图形引擎 DivSugar

DivSugar是一个基于CSS3的3D图形引擎。它提供了一个3D场地图形,贰个动画系统,和几何类。场景图的节点是叁个增添的div成分,所以它使得整合三个维度动画到现存网址上的网页变得很轻便,适合制...

 

收藏 8

C++11 的 3D 引擎 Oryol

Oryol 是贰个匡助多平台的 C++11 的 3D 引擎,下边地址能够查看一些实例:

图片 33

成立交互式3D场景 普劳斯cene

普劳斯cene 是一个用来创立交互式3D场景的 Java 类库。 Proscene 参谋了 Qt 的 OpenGL c++ libqglviewer 库的交互式框架概念:包罗二个可用鼠标调节的...

 

DirectX工具集 DirectXTK

DirectXTK 全称是 DirectX Tool Kit ,包罗一组在 C++ 中编辑 DirectX 11.x 代码的助手类。 示例代码: std::unique_ptr<SpriteBa...

 

3D场景和目的描述 X3D

严刻来讲,X3D是一种技艺标准,而非具体的本领产品。 X3D一种无需任何授权耗费的怒放标准的文件格式以及运转时架构,使用XML来陈述与交流3D场景和目的。它是一套ISO承认了的正经,为应用程序中...

 

OpenGL 立体渲染 Libgls

Libgls 允许 OpenGL 立体渲染,无需硬件支撑四缓冲立体。援救广大立体呈现情势,从立体老花镜的3DTV到种种立体显示屏。

 

分子结构图体现库 3Dmol.js

3Dmol.js 是一个面向对象的基于 WebGL 的 JavaScript 库,用于落到实处在浏览器呈现分子结构图。 性格: support for pdb, sdf, mol2, xyz, an...

 

3D 模型图渲染 pt

pt 是用 Go 语言达成的 path tracer 用于渲染各类 3D 模型图。 示例代码: package main import (     "log"     "github.com...

图片 34

OpenGL工具包 GHGLUtils

GHGLUtils 是一组扶助 OS X 和 iOS 的 OpenGL 编码工具类库。

 

3D 设想世界支付平台 realXtend

Tundra 是 3D 脚本化的互连网选用开荒平台。它的首要目标是为应用程序开垦人士,为成立互连网平台3D世界与定制的剧情。基于 Qt 和 Ogre3D 开荒。

 

3D图形渲染的库 SwiftShader

斯威夫特Shader是多少个高品质的,基于CPU的OpenGL ES和Direct3D 9图形APIs的落到实处。它的目的是为高端3D图形提供硬件独立性。 用法 该斯维夫特Shader库充当显卡驱...

 

 

浏览器中3D建立模型工具 Shapesmith

Shapesmith 是利用JS和HTML5编写制定的一款能够在浏览器中3D建立模型的工具,服务端扶助Node.js。 效果图: 示例代码: $ npm start > shapesmith@0....

图片 35

3D 图形开源压缩库 Draco

Draco 是一种库,用于压缩和平化解压缩 3D 几何网格(geometric mesh)和点云(point cloud)。换句话说,它显然减弱了 3D 图形文件的轻重缓急,相同的时间对 3D 图形的观望者来...

图片 36

2D 动画转成 3D 打字与印刷模型 T2Z

T2Z 的情致是“convert 提姆e to the Z axis”。它是贰个 Processing 程序,能够帮您成立并操控 2D 动画,然后将这么些动画片转形成 3D 可打字与印刷模型。 T2Z ...

图片 37

动态图表可视化库 fourd.js

fourd.js 是贰个用在浏览器上的动态图表可视化库。稍微调解一下,你就可以用它做出一些几何图形集合,此库已经在 Chrome、Firefox、IE11 上测量试验运营,有浮言说,通过切换 Can...

 

symbion

symbion 使用三个维度情势记录 Java 程序运营时从二个点到别的四个点的实践记录以及函数调用关系的工具。

图片 38

玩耍扩展库 XEffect2D [国产]

那是叁个依据OpenGL的能够协助Windows和Linux的游玩扩大库。

图片 39

3D 模型的填充工具 Topper

Topper 是一款 3D 模型的填充工具。如今有以下多种效应,能够用命令 configuration.scad 去调换它们: 序号 填充 效果图 1 球填充 2 Truncated Octoh...

图片 40

C4DtoUnity的中间件工具 C2UTool [国产]

一款C4DtoUnity的中间件工具。帮忙顶点动画,脚本,Shader链接等,整合你的工作流

图片 41

快快3D体素实时渲染库 GigaVoxels

GigaVoxels是贰个盛开的库,用于基于GPU的实时质量渲染特别详细和广阔的靶子和风貌(编码为SVO

  • 疏散体素八叉树 - 但不必然模糊或晶莹:参见历史)。它能够很轻易地与一般的OpenG...

图片 42

凭仗GPU的便捷数据管理库 GigaSpace

GigaSpace是两个盛开的基于GPU的库,用于大气数量的即刻数据管理。它由一组4个零部件组成,全部可定制: 多尺度空间分割动态树结构,高速缓存管理器存款和储蓄对应于空间分区的非空节点的常量大小的数据...

 

 

 

 

本文由手机网投123发布于能源节能,转载请注明出处:3D图形处理库

关键词: