简单介绍一下OGraph

3D渲染引擎 OGraph

摘要:该引擎的目标在于能够渲染3D场景,和可视化复杂网络;并且支持方便的数据接口,游戏一般的交互体验。引擎嵌入python为用户提供API,编写python代码读取处理数据后提交到渲染接口,即可实时渲染。使用浏览器内核向用户展示UI,管理场景对象树、对象属性。用户也可以自己重新编写html页面自定义右侧界面布局。使用OpenGL着色语言,支持渲染点光源,法线贴图;并且支持渲染不受光源影响的点、线,来绘制复杂网络。复杂网络布局算法内嵌在引擎,支持二维、三维、布局力向导布局算法,并建立在YiFan-Hu的最大熵模型上。

效果图:
OGraph 截图

  1. 场景中地板、墙使用了法线贴图,麻将模型未使用法线贴图。
  2. 点、线的渲染使用跟模型不同的shader,不受光源影响。
  3. 点光源阴影使用ShadowMap计算,为了减少光源计算,阴影只计算一次。

Python脚本:

# SettePy.AddPointLight(12,7,12, 0.9,0.0,0.0)
    SettePy.AddPointLight( -1,7,-6, 0.5,0.4,0.3)
    SettePy.AddPointLight(  1,7, 7, 0.4,0.5,0.3)
    # SettePy.AddTextureMaterial("wood2","IMG/wood2.jpg")
    # SettePy.AddTextureMaterial("wood1","IMG/wood1.jpg")
    SettePy.AddTextureMaterial("jinsu","IMG/jinshu.jpg","IMG/jinshu_nrm.jpg")
    # SettePy.AddTextureMaterial("jinsu","IMG/jinshu.jpg")

    SettePy.AddBox("default","jinsu",60.0,1.0,60.0,0,-1,0,4)
    SettePy.AddBox("default","jinsu",60.0,1.0,60.0,0,12,0,4)

    SettePy.AddBox("default","jinsu",1.0, 25.0,60.0,-30,12,0,4)
    SettePy.AddBox("default","jinsu",1.0, 25.0,60.0, 30,12,0,4)
    SettePy.AddBox("default","jinsu",60.0,25.0,1.0, 0,12,-30,4)
    SettePy.AddBox("default","jinsu",60.0,25.0,1.0, 0,12,30,4)
    # SettePy.AddBox("default","wood1",6.0,6.0,6.0, 7,3,0)
    # SettePy.AddBox("default","wood2",6.0,6.0,6.0, 0,6,8)
    # SettePy.AddBox("default","wood1",6.0,6.0,6.0, -7,3,0)
    SettePy.AddLayer("root","objs_layer")
    SettePy.AddObjFile("objs_layer","OBJS/mj/yaoji.obj",0.04,-5,0.1,1)

SettePy是C++向python注册的模块,向python提供接口

可以在这里交流哦
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值