Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

nintymiles/three.cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

369 Commits

Repository files navigation

three.cpp

a clone cpp graphics library inspired by three.js.

Basic Running Environment

I pick google's angle as a direct replacement for WebGL which three.js depends on,hence, I can concentrate on computer graphics itself.

Now I first run it on MacOS Apple Silicon and Windows desktop with angle by libEGL + libGLESv2.

Three.cpp 基于three.js的cpp跨平台本地渲染框架

有感于three.js基于图形学的知识在web上几乎从头开始搭建了一个优秀的图形学框架,并且提供了无数的精彩例子。three.pp,基于google angle实现,以three.js为蓝本,使用cpp语言学习实现跨平台的本地渲染框架,目前已经实现的功能:

  • 完成渲染引擎部分功能的移植
  • 基于MacOS Apple Silicon平台的运行
  • 基于win64 系统的运行
  • 实现了2个线段绘制例子
  • 迁移了obj/mtl loader,实现了obj/mtl解析加载功能,并实现一个例子
  • 实现了一个buffer geometry,无顶点数据绘制例子
  • 实现多点光源动态实例
  • 实现基于光源的物理真实(PBR)渲染例子

Demos

Name Desc
Lines
Lines-Sphere Lines-Sphere demo
Lines-Dashed Lines-Dashed demo
Loader
Obj-Mtl-Loading Loader-Obj-Mtl demo
Buffer Geometry
Buffer-geometry-attributes-none Buffer-geometry-attributes-none demo
Lights
Lights-pointLights Lights-pointLights
Lights-physical Lights-physical
Materials
Materials-Channels Materials-Channels
Materials-Cubemap Materials-Channels
Materials-Materials Materials-Channels
Materials-Materials Materials-Channels
Shaders
Shader Shader_demo
Shader_Lava Shader_lava
Custom_attributes Custom_attributes

About

a clone cpp graphics library inspired by three.js.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /