Commit Graph

69 Commits

Author SHA1 Message Date
halx99 6904b9f3f3 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 03e130a19f Revert "Fix #313" 2021-01-21 12:41:01 +08:00
halx99 734602069e 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 984c164c57 Sync yasio to 3.35.0 [ci build] 2020-12-21 18:12:13 +08:00
aismann f38b271650 Update controller.cpp
"Node: Physics" using Chipmunk2D (hardcoded on e.g.: CCPhysicsBody.cpp)

Maybe a Wiki entry is also usefull?
2020-12-20 07:11:13 +01:00
halx99 3ebb1f57c0 Fix next drawable maybe nil crash[ci build] (#310) 2020-12-17 15:31:16 +08:00
halx99 3f0d17b520 Merge: a10d7701b8 a606572775
Merge pull request #277 from aismann/master

Update cocos.bat
2020-11-23 01:27:53 -08:00
Eismann 381189f726 Update cocos.bat 2020-11-23 09:55:07 +01:00
halx99 a300b75a2f Merge: 0d04e20b50 eee60b9d99
Merge pull request #276 from aismann/master

Same as on 3.17 (with small changes)
2020-11-22 23:43:18 -08:00
Eismann b51545ac54 Same as on 3.17 (with small changes) 2020-11-23 07:46:09 +01:00
halx99 7122b5043a 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 052558e83d Merge: 5da2894e1b f80a6ef25c
Merge branch 'master' of https://github.com/c4games/engine-x into master
2020-11-08 13:12:06 +08:00
halx99 c98313ac4b Prepre for box2d-2.4.1 2020-11-08 13:11:40 +08:00
halx99 73380fb4eb Update comment 2020-11-06 09:33:26 +08:00
halx99 17e1ddae83 [Metal] matching depth stencil state 2020-11-06 08:56:25 +08:00
halx99 fcaee3f0f9 fix #255 [ci build] 2020-11-05 22:51:33 +08:00
halx99 fefb5f27fb fix #255 [ci build] 2020-11-05 22:24:30 +08:00
halx99 534b2acc39 Lock name 2020-10-24 21:57:36 +08:00
halx99 0830fe9c14 Only needs updateUniformID when set a unstable uniform variable 2020-10-23 15:07:18 +08:00
halx99 e4d8e60c0b Since v4, no needs callback uniform, so mark setCallbackUniform deprecated 2020-10-23 11:57:17 +08:00
halx99 b8a0e0a478 Finsih rename 2020-10-22 10:58:10 +08:00
halx99 4048395cdb 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 a2288d08db Fix depth stencil state and pipeline state mismatch 2020-09-25 23:16:48 +08:00
halx99 cca0739793 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 3eb2d51df9 Refactor render pipeline state (#211)
* Refactor pipeline state
* Cache DepthStencil state for MTL renderer backend
2020-09-22 16:32:17 +08:00
halx99 c97956d28f Remove unused param for setRenderPipeline 2020-09-21 22:35:18 +08:00
halx99 6e7e117a0d RenderTarget abstract, in-progress (#210)
RenderTarget abstract
2020-09-21 22:10:50 +08:00
halx99 89c4ab3046 Metal screen framebuffer only set/restore 2020-09-13 12:55:35 +08:00
halx99 7282a3ea3f No need enqueue, commit will do it automatically 2020-09-12 16:44:16 +08:00
halx99 3b71ea621a Refine code 2020-09-12 15:34:09 +08:00
halx99 2f96108c75 Add more clearly comment [skip appveyor] 2020-09-11 20:17:31 +08:00
halx99 66161f982a Remove unused comment 2020-09-11 12:14:40 +08:00
halx99 671b6b4ca9 Tidy code 2020-09-11 00:10:44 +08:00
halx99 3313720a20 Remove unused API, TODO: unify to Utils::readPixels 2020-09-10 23:11:43 +08:00
halx99 2cc14ef4d7 Add comment 2020-09-10 21:41:52 +08:00
halx99 dc3796d746 Refine code 2020-09-10 21:38:24 +08:00
halx99 e283a4fca0 Refactor capture, fix data race for apple metal reanderer backend 2020-09-10 21:14:28 +08:00
halx99 df43be0a7e fix 193 2020-09-10 18:12:46 +08:00
halx99 e5d18c5118 Should set _mtlCommandBuffer to nil after release 2020-09-03 22:26:21 +08:00
halx99 d66e62e436 ASTC6x6 support and more comment about bpp usage in engine (#191)
* ASTC6x6 support and more comment abount bpp usage in engine

* fix log output

* Comment astc compression tool download url

* Add command line comment for astcenc tool [skip travis][skip appveyor]

* Add astc_6x6 test image[skip appveyor][skip travis]

* astc_6x6 mtl

* Refine log info[skip appveyor][skip travis]

* Empty line[skip appveyor][skip travis]
2020-09-03 18:01:40 +08:00
halx99 f9ae5401ec Add copyright notice [skip appveyor][skip travis] 2020-09-01 13:24:45 +08:00
halx99 cc53868d27 More clearly ETC1 format, sync enums for ETC1, correct somethings 2020-09-01 11:43:03 +08:00
halx99 9e4f61d9d6 ETC2 feature check for metal 2020-09-01 00:03:49 +08:00
halx99 09cedf60b2 Improve images decoder 2020-08-31 21:04:47 +08:00
halx99 e96ae229dd Merge: 5ddc84bbee 539e5ca42c
Merge pull request #189 from aismann/patch-8

Update README.md
2020-08-31 04:27:33 -07:00
halx99 a87c0bba78 More clearly data owner when decode images. 2020-08-31 19:24:23 +08:00
halx99 fa5d2d198b fix resources relative path to avoid test case crash on mobile 2020-08-31 17:39:29 +08:00
halx99 c338472df8 Move copyright notice to header [skip appveyor][skip travis] 2020-08-31 17:35:01 +08:00
halx99 477aa0c185 Clearly CCLOG content 2020-08-31 17:13:04 +08:00
halx99 258dfc5b4a ETC2 Metal support 2020-08-31 15:45:05 +08:00