Commit Graph

159 Commits

Author SHA1 Message Date
halx99 b459acbcf7 Remove all unnecessary nothrow 2021-12-08 00:11:53 +08:00
halx99 cc2ba51ed6 Use struct `Vec2` instead `Size` 2021-10-23 23:27:14 +08:00
halx99 c12aa74b55 Fix #386 [ci build] 2021-06-17 22:22:41 +08:00
HALX99 138781151a
Fix depth stencil state/desc (#321)
* Fix ds state

* fix 3d object not render

* Update DepthStencilStateGL.cpp

* fix ds, not complete

* fix image ref incorrect

* Fix metal captureScreen

* Share ds desc
needs restore properly after non-default render target destroy.

* fix gl compile

* Sync ds desc

* Only set vertex & index buffer once for batch draw

* Add set/get ds desc for renderer

* Refine code style

* Fix RenderTextureTest
a. should restore stencil desc properly

* Sync gl captureNode

* Sync GL
2021-01-31 22:22:52 +08:00
halx99 208d07697f Fix next drawable maybe nil crash[ci build] (#310) 2020-12-17 15:31:16 +08:00
halx99 a2a7166808 [Metal] matching depth stencil state 2020-11-06 08:56:25 +08:00
HALX99 a397287e3f
fix #233 (#235) 2020-10-16 01:41:36 +08:00
halx99 543ead7111 Fix depth stencil state and pipeline state mismatch 2020-09-25 23:16:48 +08:00
HALX99 09937c97a7
Refactor render pipeline state (#211)
* Refactor pipeline state
* Cache DepthStencil state for MTL renderer backend
2020-09-22 16:32:17 +08:00
halx99 d4347dc27d Reduce depthStencil state create, don't create it at per draw call 2020-09-21 22:58:45 +08:00
halx99 c5c7de9e1d Remove unused param for setRenderPipeline 2020-09-21 22:35:18 +08:00
HALX99 5a32bcfdaf
RenderTarget abstract, in-progress (#210)
RenderTarget abstract
2020-09-21 22:10:50 +08:00
HALX99 961b023bfa
Remove unused CaptureCallbackCommand (#2) 2020-09-13 14:53:17 +08:00
halx99 782e0c61bb No need CaptureCommand for capture screen or node 2020-09-13 13:27:50 +08:00
halx99 9c6a3d2837 Metal screen framebuffer only set/restore 2020-09-13 12:55:35 +08:00
halx99 f9c2e3b856 Make capture API public to Renderer 2020-09-13 11:11:48 +08:00
halx99 378e38de11 Add more clearly comment [skip appveyor] 2020-09-11 20:17:31 +08:00
halx99 ecb8738b33 Renaming stubs relative capture command 2020-09-11 12:23:33 +08:00
halx99 874946fccb Tidy code 2020-09-11 00:10:44 +08:00
halx99 f6a8d993fc Refactor capture, fix data race for apple metal reanderer backend 2020-09-10 21:14:28 +08:00
halx99 d20d3fd241 fix type error, well xxhash never generate 0 for validate draw command. 2020-07-10 15:55:31 +08:00
halx99 2086cf04d3 fix indent 2020-02-23 21:31:55 +08:00
halx99 3e0ca066ba fix #41 2020-02-23 21:27:14 +08:00
coulsonwang 1e8f6d24ac fix render pipeline (#20041) 2019-08-19 10:12:00 +08:00
coulsonwang c4e6ede197 move VertexLayout to ProgramState (#20029)
* move VertexLayout to ProgramState

* fix lua
2019-08-15 16:51:49 +08:00
coulsonwang 935af58e1d remove arrays of vertex layout (#20023) 2019-08-13 13:58:16 +08:00
coulsonwang 23732ab889 remove arrays of vertex buffer (#20022) 2019-08-13 09:46:20 +08:00
coulsonwang 10b2799051 Feature/fix mipmap issues (#19753)
* fix mipmap

* fix mipmap issues

* remove unneeded code

* fix

* remove Texture2D::PixelFormat, add backend::PixelFormat

* fix lua compile error

* reset *.tps files

* fix compile error

* fix compile error
2019-06-02 18:39:51 -07:00
coulsonwang 7ee0b65bb6 [Feature] fix spirte, label test when EGL context lost (#19612)
* [BugFix] fix compile error

* [Feature] fix spirte, label test when EGL context lost

* [Feature] map uniform location

* [Feature] remove unneeded codes

* [Feature] add BufferManager

* [Feature] fix compile error

* [Feature] add files

* [Feature] remove unneeded codes

* [Feature] no need to release opengl resource

* [Feature] update BufferManager

* 1. reCreate frame buffer when needed.
2. initial texture when come back to foreground

* [Feature] add Program and Buffer event listener

* [FixTerrain] need check location had used before

* fix compile error

* add updateTextureDescrptor function for TextureMTL, since TextureMTL creation was move to Texture2D constructor.

* [FixDrawNode] record buffer data when needed

* [FixShaderTest] add nullptr judgement

* [FixShaderText] no need to reCreate ProgramState when come back to foreground

* [FixRenderTexture] retain the render texture image

* [Feature] optimize buffer memory

* fix compile error

* fix CI test fail
2019-04-29 18:51:45 -07:00
coulsonwang 5944857936 [MaterialSystemTest] When depth testing is disabled, writes to the depth buffer are also disabled. No need to do depth test in such case. (#19582) 2019-04-08 18:56:05 -07:00
Arnold 6452d5faec [bugfix] enable depth test for all commands in 3d queue (#19565)
* save states

* save bits

* include deque

* remove 2d default states

* remove unsused flags
2019-04-02 00:47:55 -07:00
coulsonwang bb60c173a1 add a flag to determine if need depth/stencil attachment 2019-04-01 19:05:53 -07:00
coulsonwang d92ae4b478 [Feature] CaptureScreen works (#19547) 2019-03-27 18:09:26 -07:00
minggo 6067d62341
adapt ClippingNodeTest (#19528) 2019-03-24 19:08:49 -07:00
Arnold 475b6e63a5 [bugfix] ClippingNode & CameraBackgroundBrush render order (#19496)
* add groupcommand as a barrier to reorder clipping node renderring

* add comments
2019-03-12 15:41:32 +08:00
Arnold a384e38e16 [bugfix] GL vertex attribute layout incorrect (#19484)
* collect OpenGL enum convertion methods

* add testcase for lots of nots

* fix andorid compile error

* move more function to UtilsGL

* use shared pointer

* naming stuff

* move VertexLayouts to CommandBuffer

* fix android compile error

* fix android headers

* add comment

* add comment, fix
2019-03-12 10:37:52 +08:00
Arnold 64f3f1d356 ProgressTimer cache uniforms (#19482)
* cache uniform

* release fix

* reorder vertex attributes
2019-03-11 10:15:33 +08:00
Arnold 0f1e70ac8b [bugfix] add mesh command callbacks (#19477) 2019-03-08 11:06:03 +08:00
Arnold 8caade49e6 [3d] add meshcommand (#19472) 2019-03-07 17:30:11 +08:00
Arnold f7496948fd [3d] support particle3d (#19464)
* first commit

* fix matrix

* remove used comments

* fix compile error on mac

* self review fix 1

* litte refactor

* use reference:
2019-03-06 17:03:16 +08:00
coulsonwang c18564cc44 fix depth/stencil validation failed in iPhoneX (#19458) 2019-03-04 15:09:34 +08:00
Arnold 3a55fa3dd6 [3d] add CameraBackgroundBrush (#19454) 2019-03-04 09:14:45 +08:00
coulsonwang cba56e5da7 Feature/save image issue (#19435) 2019-02-27 11:29:20 +08:00
minggo 06d7e4eda7
remove CCGLProgram related files (#19408)
* remove CCGLProgram related files

* remove CCGLProgram related header files
2019-02-19 16:06:17 +08:00
Arnold 512a5f12c1 fix compile error (#19403) 2019-02-18 14:54:12 +08:00
coulsonwang fecac0c02c fix memory leak (#19402) 2019-02-18 13:42:11 +08:00
Arnold 8be2a2053f
sync 3d support code (#19392)
* Sprite3D
* DrawNode3D
* active more Sprite3DTest
2019-02-15 14:30:10 +08:00
coulsonwang 3d0da9a7ac [Feature] caching render pipeline (#19375)
* [Feature] caching render pipeline

* [BugFix] release render pipeline
2019-01-31 16:31:09 +08:00
coulsonwang 2eef8cdbb9 [Feature] Cache RenderCommandEncoder (#19367)
cache render pipeline to improve performance
2019-01-30 14:14:15 +08:00
Arnold fe497933f8 3d support: some test cases works
* hack to make sprite3d test work

* support cull face

* support setting front face winding

* convert depth compare function type

* clean codes

* remove usage of glprogramstate

* pass needed information to Material::draw()

* add 3d textures

* enable animation

* 3D: compile on windows  (#179)

* exclude source files from extensions/

* enable assets and 3D

* run on windows

* update comments

* use std::vector instead of raw pointer void *

* compile on mac

* revert cmake

* fix bufferdata

* add todos

* remove dirty flag from uniform buffer

* argument type const &

* enable more tests

* update shader

* save: failed to compile

* pass compilation

* fix type convert

* save stage

* save stage 2

* remove VertexData & IndexBuffer & VertexBuffer

* comment out _meshCommand

* comment bindPredefinedVertexAttribs()

* fix xcode project file

* simple refactor

* remove unused files

* revert sprite3d testcase position

* revert change

* remove ProgramGL::bindPredefinedVertexAttribs()

* add header <string>

* fix uniform size
2019-01-30 09:35:17 +08:00