Commit Graph

1026 Commits

Author SHA1 Message Date
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 46fad08e4c
Revert "Fix #313" 2021-01-21 12:41:01 +08:00
halx99 ae0c3eddef Fix #313
a. error: depthAttachment PixelFormat (MTLPixelFormatInvalid) and stencilAttachment PixelFormat (MTLPixelFormat Depth32Float_Stencil8) must match.
b. Because we only support D24S8(D32FS8) combined format, so needs check
TargetBuffferFlags::DEPTH_AND_STENCIL when setup depth and stencil
format, otherwise newRenderPipelineWithDescriptor will crash.
2021-01-16 00:01:21 +08:00
halx99 208d07697f Fix next drawable maybe nil crash[ci build] (#310) 2020-12-17 15:31:16 +08:00
halx99 108399ede3 Unify CC_COMPAT_GL to control renderer backend
win32: google angle
mac: NSGL
ios: GLES
2020-12-02 03:03:05 -08:00
rh101 17f3959a13 Allow user to set custom program type value 2020-11-27 17:26:02 +11:00
HALX99 0d04e20b50
fix metal znear range for viewport
https://developer.apple.com/documentation/metal/mtlrendercommandencoder/1515527-setviewport?language=objc
2020-11-23 09:30:51 +08:00
halx99 57c767a66d fix #260 [ci build] 2020-11-16 12:21:27 +08:00
halx99 a71788d942 Delete unused buitin shaders 2020-11-16 11:20:12 +08:00
halx99 ebb6e1963b plain include xxhash.h 2020-11-14 12:22:51 +08:00
HALX99 d4284b880e
Update comment 2020-11-06 09:33:26 +08:00
halx99 a2a7166808 [Metal] matching depth stencil state 2020-11-06 08:56:25 +08:00
halx99 8e35201726 fix #255 [ci build] 2020-11-05 22:51:33 +08:00
halx99 449d8ce0e2 fix #255 [ci build] 2020-11-05 22:24:30 +08:00
halx99 9e99cfe119 Remove unused shader files [ci build] 2020-11-04 16:35:12 +08:00
halx99 da1613a9b6 For scripting binding happy 2020-11-02 16:35:31 +08:00
halx99 b897e61c94 Improve memory use 2020-10-29 19:13:36 +08:00
halx99 e25931f686 fix compile 2020-10-27 17:01:03 +08:00
halx99 a3a92b5d81 Use DeviceGL to store defaultFBO 2020-10-27 16:58:37 +08:00
halx99 21d9cbdc11 DNT printmat by default 2020-10-27 11:21:03 +08:00
halx99 975ef2ff61 Lock name 2020-10-24 21:57:36 +08:00
halx99 5a6efdf800 Optimize includes 2020-10-23 16:40:51 +08:00
halx99 ebc89adcfc Support specific manually and more clearly comment 2020-10-23 15:27:03 +08:00
halx99 a14b7cc91e Only needs updateUniformID when set a unstable uniform variable 2020-10-23 15:07:18 +08:00
halx99 8f463be6f9 Add setUniformID manually for user to avoid calculate uniformID with uniform buffer automatically 2020-10-23 12:39:30 +08:00
halx99 a8561bba30 Remove default constructor of ProgramState 2020-10-23 12:17:36 +08:00
halx99 1fb454a7ee Since we have uniformID, CUSTOM_PROGRAM also can batch 2020-10-23 12:07:37 +08:00
halx99 62108b40b1 Since v4, no needs callback uniform, so mark setCallbackUniform deprecated 2020-10-23 11:57:17 +08:00
halx99 2b125c75bd Refine ProgramState mat id 2020-10-23 11:37:52 +08:00
halx99 f50edaa18c Simply skip batch for custom program, see #245 2020-10-23 10:26:45 +08:00
halx99 b8834bc086 Finsih rename 2020-10-22 10:58:10 +08:00
HALX99 d28891fb62
Remove unused converter functions 2020-10-21 00:35:39 +08:00
halx99 dd98b13a9d Refine pixel format
a. make RGB565, RGB5A1 identical between GL and MTL backend
b. make texture internal format compatible on GLES-2.0 ONLY GPU devices
2020-10-20 23:27:20 +08:00
halx99 59b1bd30e8 fix rgba4444 enum for gles-2.0 only GPU 2020-10-20 20:01:18 +08:00
halx99 190d4cb3e3 GLES compatible 2020-10-20 19:50:34 +08:00
halx99 8dafaf3b67 Remove unused varaibles 2020-10-20 19:38:33 +08:00
halx99 2f934aeedc Simplfy hsv color 2020-10-16 17:23:29 +08:00
HALX99 b342ebd7ae
Refactor programState management (#236)
1. Add custom program registery
2. Re-enable batch draw for custom program
2020-10-16 16:23:14 +08:00
HALX99 a397287e3f
fix #233 (#235) 2020-10-16 01:41:36 +08:00
halx99 e28a292ec3 API qualifiers improments 2020-10-07 00:07:53 +08:00
halx99 1735517112 Improve win dll support 2020-10-06 16:46:38 +08:00
HALX99 bfa8cbcc6d
Delete duplicated _mv (#220) 2020-09-26 12:33:14 +08:00
halx99 543ead7111 Fix depth stencil state and pipeline state mismatch 2020-09-25 23:16:48 +08:00
HALX99 1090f732c9
Clearly texture usage and TextureGL initWithZeros usage (#219)
* Clearly texture usage and TextureGL initWithZeros usage

* More properly function name
2020-09-25 15:04:55 +08:00
HALX99 235f09f635
Refactor pixel format manipulate (#217)
* PixelFormat use table

* Correct PixelFormat name to match 'GL_LUMINANCE'

* Up

* fix cube update texture enum

* linux build

* Refine ci

* fix linux build

* Remove unused function, match mtl framebuffer pixel format

* readPixels always RGBA format

* fix ci for linux

* fix linux build

* Remove unused functions

* fix travis

* fix android ci

* Update config.json

* linux glad

* Update CCGLViewImpl-desktop.cpp

* fix linux build

* Fix linux build

* Link issue [skip appveyor][skip travis]

* Update CMakeLists.txt

* Refine GL enums use

* Update test case name [skip appveyor][skip travis]

* fix linux link issue

* for mtl

* fix ci

* Tidy pixelformat enums

* fix ci

* fix rgba8 to abgr4 error

* fix ci

* fix ci for GLES

* Fix linux build, require glibc-2.27+

* Use properly dist for travis [skip appveyor]

* fix linux build [skip appveyor]

* Update install-deps-linux.sh

* Remove unused members for pixel block info, update external to v73

* Sync from compile linux warnings

* Remove unused check, and PixelFormat::A8 is ordinary format, not compressed format

* metal doesn't support rgb8 (#3)

* Update CCTexture2D.cpp

* Refine code

* Pixel Format Descriptor Table

* fix ci

* BGR5A1

* Simplfy texture format convert function name

* Update

* rgba4 match mtl render format

* Add note about RGBA4

* Remove unused function

* fix osx

* Already converted at texture2d

* Clearly comment

* fixup
2020-09-25 11:07:56 +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 03e5a1bd9a fix ci warnings 2020-09-17 12:13:59 +08:00