Delve into the world of graphics and game development. Discuss creating stunning visuals, optimizing game mechanics, and share resources for game developers.

Post

Replies

Boosts

Views

Activity

Loading .usdz materials in Reality Composer Pro
Hello All - I'm receiving .usdz files from a client. When previewing the .usdz file in Reality Converter - the materials show up as expected. But when I load the .usdz in Reality Composer Pro, all the materials show up as grey. I've attached an image of the errors I'm get inside Reality Converter, to help trouble shoot. What steps can I take to get these materials working in my Reality Composer Pro project? Thanks!
2
0
578
Jan ’24
I got error related to Metal Framework when running the flutter application
The error is: "Error Domain=MTLLibraryErrorDomain Code=3 ":1:10: fatal error: cannot open file './metal_types': Operation not permitted #include "metal_types"" On my Mac mini (with intel chip), I run flutter application in VScode lldb debugger and got this error, flutter application cannot draw its UI and shows a blank white window. My Xcode version is latest version 15.2. Flutter application can run normally in Mac mini M1 in VSCode lldb debugger, and can run normally without debugger in Mac mini Intel chip. In Metal framework and Core Graphic framework location, there is no file named "metal_types". Before, it didn't happen. I could run normal in vscode lldb debugger on Mac mini intel chip and M1. Anyone knows anythings, please comments. Thank you!
0
0
464
Jan ’24
I want to pass array data from Swift to Metal's fragment shader in Uniform
I am trying to pass array data in Uniform from Swift to Metal's fragment shader. I am able to pass normal Float numbers that are not arrays with no problem. The structure is as follows struct Uniforms { var test: [Float] } The values are as follows let floatArray: [Float] = [0.5] As usual, we are going to write and pass the following As mentioned above, normal Float values can be passed without any problem. commandEncoder.setFragmentBytes(&uniforms, length: MemoryLayout<Uniforms>.stride, index: 0) The shader side should be as follows 
// uniform struct Uniforms { float test[1]; }; Fragment Shader // in fragment shader float testColor = 1.0; // for statement for (int i = 0; i < 1; i++) { testColor *= uniforms.test[i]; } float a = 1.0 - testColor; return float4(1.0,0.0,0.0,a); I thought that 0.5 in the array was passed, but no value is passed.
I think I am writing something wrong, but how should I write it?
0
0
400
Jan ’24
USDZ is not getting the job done for AR on ios. Are there plans to utilize WebXR in future versions of ios for phones and ipads?
USDZ is not getting the job done for AR on ios. Are there plans to utilize WebXR in future versions of ios for phones and ipads, so that developers might leverage all the capabilities that the GLB file format provides? By embracinng WebXR, Android is providing a much better environment to build AR experiences. As content creators, we would like to support all of our users with a common code stack and workflow. Thanks for any insights.
1
0
429
Jan ’24
cannot find Game Porting Toolkit in the developer site
I've ended up on here following the instructions from the installer for the community extender of AGPT, hoping to provide it the DMG for the official apple GPTK but when I followed the link in the installer, it wasn't there. I searched "GPTK and Game Porting Toolkit" to no avail. I'm running Sonoma on a 2023 M2 pro MBP with 32gb RAM, plenty powerful and up to date enough for me to have a genuine reason to use this tool. what gives? was it taken offline? if so, why?
1
0
1.4k
Jan ’24
Is there any payment from Apple for my old developer account?
Good afternoon, I had a developer account and for years I developed several gaming applications for Apple. And a few years ago I went to look at my old developer email and there was a confirmation of Apple's payment debit to me for the profit I earned on my apps. Could you check if Apple left any payments pending on my old developer account? I would like you to give me an answer because even my old games were removed from the Apple store. Thank you!
2
0
421
Jan ’24
Cannot install keras on macOS
I'm using an anaconda environment Tensorflow-macos 2.15 Keras 2.15 Python 3.11.5 macOS m2 14.1 I guess problem with Pycharm, because cod is working and error is: Cannot find reference 'keras' in 'imported module tensorflow | init.py'. Previously I built a model on a simple MNIST and it's working but have same problem. I have tried different references and versions of python. I've changed environments at least 3 times and it doesn't work.
0
0
641
Dec ’23
VisionOS: Immersive space with Metal framework
Hi, I'm trying to build an app demo with Metal framework on visionOS. I've found out that when I enabled immersive space it was in a fully immersive mode and the Metal was rendering the background with black color. And I've inspected the demo code and the clear color was (0, 0, 0, 0). I wonder if it is possible to render just like RealityKit with mixed reality effect that some 3D models can be rendered in the real world without a black background. Any idea or explanation?
2
0
606
Dec ’23
Understanding MaterialX support in USDZ Quicklook
Hello, I'm exporting a 3D model with a shader created in Reality Composer Pro's Shader Graph to a USDZ file for viewing in QuickLook. Once exported, the USDZ file in QuickLook appears without the shader material. When I import the file back into Xcode, the material renders properly. Is it possible to publish MaterialX shaders to be viewed in QuickLook? Hopefully it is, because it seems the push to MaterialX and USDZ is supposed to be for universal support :) Any guidance is appreciated!
3
0
570
Dec ’23
App renders as a black on screen
Hello, I am creating an application that is cross-platform with Flutter, the problem is that when I launch my application on my Macbook there is only a black page displayed. This is a recurring problem with all Flutter applications on this Mac. When I debug my application, this is what appears in the console. Error submitting command buffer. 2023-12-27 15:58:12.468 tranzic[2333:21044] Error Domain=MTLCommandBufferErrorDomain Code=4 "Ignored (for causing prior/excessive GPU errors) (00000004:kIOAccelCommandBufferCallbackErrorSubmissionsIgnored)" UserInfo={NSLocalizedDescription=Ignored (for causing prior/excessive GPU errors) (00000004:kIOAccelCommandBufferCallbackErrorSubmissionsIgnored), MTLCommandBufferEncoderInfoErrorKey=( "<errorState: MTLCommandEncoderErrorStatePending, label: (null), debugSignposts: (null)>", "<errorState: MTLCommandEncoderErrorStatePending, label: (null), debugSignposts: (null)>", "<errorState: MTLCommandEncoderErrorStatePending, label: (null), debugSignposts: (null)>" )} Error submitting command buffer. 2023-12-27 15:58:18.455 tranzic[2333:21044] Error Domain=MTLCommandBufferErrorDomain Code=4 "Ignored (for causing prior/excessive GPU errors) (00000004:kIOAccelCommandBufferCallbackErrorSubmissionsIgnored)" UserInfo={NSLocalizedDescription=Ignored (for causing prior/excessive GPU errors) (00000004:kIOAccelCommandBufferCallbackErrorSubmissionsIgnored), MTLCommandBufferEncoderInfoErrorKey=( "<errorState: MTLCommandEncoderErrorStatePending, label: (null), debugSignposts: (null)>", "<errorState: MTLCommandEncoderErrorStatePending, label: (null), debugSignposts: (null)>", "<errorState: MTLCommandEncoderErrorStatePending, label: (null), debugSignposts: (null)>" )} I have a Macbook Pro mid-2012 running macOS Monterey and here's an issue I opened on the flutter repo for more details. https://github.com/flutter/flutter/issues/137859
2
2
515
Dec ’23
When is a `simdgroup_barrier()` required?
Metal offers both threadgroup_barrier() and simdgroup_barrier(). I understand the need for threadroup barriers — it would not be possible to rely on well cooperation between threads in a threadgroup without them, as different threads can execute on different SIMD partitions at different times. But I don't really get the simdgroup_barrier() — it was my impression that all threads in a simdgroup execute in lockstep and this if one thread in a simdgroup makes progress, all other active threads in the simdgroup are also guaranteed to make progress. If this were not the case we'd need to insert simdgroup barrier pretty much any time we read or write any storage or perform SIMD-scoped operations. It doesn't seem like Apple uses simdgroup_barrier() in any of their sample code. In fact, it seems like it's a no-op on current Apple Silicon hardware. Is there a situation when I need to use simdgroup barriers or is this a superfluous operation? P.S. It seems that Apple engineers are as confused by this as I am, see https://github.com/ml-explore/mlx/blame/1f6ab6a556045961c639735efceebbee7cce814d/mlx/backend/metal/kernels/scan.metal#L355
1
0
640
Dec ’23
Is CAMetalDisplayLink expected to support Metal Performance HUD?
I've been attempting to use the new CAMetalDisplayLink to simplify the code needed to sync my rendering with the display across Apple platforms. One thing I noticed since moving to using CAMetalDisplayLink is that the Metal Performance HUD which I had previously been using to analyze the total memory used by my app (among other things) is suddenly no longer appearing when using CAMetalDisplayLink. This issue can be reproduced with the Frame Pacing sample from WWDC23 Anyone from Apple know if this is expected behavior or have an idea on how to get this to work properly? I've filed FB13495684 for official review.
3
0
473
Dec ’23
Apple Core Package for Unity
I have installed the aple game kit and when it is time to build the packages i go to unity pakage manager and find the .tgz file and open it but the apple core pakage does not appear on the list inside package manager. Using unity 2022.2.2 [08:53:18] [Package Manager Window] Error adding package: file:./Assets/External Packages/unityplugins-main/Build/fbx20133_converter_mac.pkg.tgz. Unable to add package file: /Assets/External Packages/unitvolugins-main/Build/fbx20133 converter mac.nka.tazl: [08:56:07] [Package Manager Window] Error adding package: file:./Assets/External Packages/unityplugins-main/Build/fbx20133_converter_mac.pkq.tqz. Unable to add package tile:.. Assets/External Packages unitvplugins-mainBulld/TbX20133_converter mac.pka.taz: [08:59:311 [Package Manager Window] Error adding package: file../ Assets/External Packages/unityplugins-main/Build/fbx20133_converter_mac.pkg.tgz. unable to add package TIle….. AssETS/External Packages unityplugins-main/Bulld/TOX20133_converter_mac.pkq.tqz: [09:03:111 [Package Manager Window] Error adding package: file../Assets/External Packages/unityplugins-main/Build/fbx20133_converter_mac.pkg.tgz. unable to add package Tile:.. AssEts/Extemalackagesunitypiugins-main/Bulla/TOXU133_convener_mac.pko.toz]: ¿ Perso [Package Manager Window] Error adding package: file:./ Assets/External Packages/unityplugins-main/Build/fbx20133_converter_mac.pkg.tgz. Unable to add package [file:../Assets/External Packages/unityplugins-main/Build/fbx20133_converter_mac.pkg.tgz]: The file L/var/folders/39/drmm3vg15tsggs7nt7z360lh0000gn/T/.tmp-9365-Q2GPWMjILnkO/package.json] cannot be found
1
0
601
Dec ’23
Multiple root level objects Error [USDZ/Reality Composer Pro]
Hey everyone, I'm running into this issue of my USDZ model not showing up in Reality Composer Pro, exported from Blender as a USD and converted in Reality Converter. See Attached image: It's strange, because the USDz model appears fine in Previews. But once it is brought inside RCP, I receive this pop up, and does not appear. Not sure how to resolve this multiple root level issue. If anyone can point me in the right direction or any feedback, all is much appreciated! Thank you!
1
0
875
Dec ’23
Strange error when using memory barrier in MTLRenderCommandEncoder with imageblocks
I'm attempting to put two mesh draws into a MTLRenderCommandEncoder with a memory barrier between them. I'm also using image blocks in the fragment functions in the two pipelines. Something like this: [encoder setRenderPipelineState:pipeline1]; [encoder drawMeshThreadgroups:threadgroupsPerGrid threadsPerObjectThreadgroup:threadsPerObjectThreadgroup threadsPerMeshThreadgroup:threadsPerMeshThreadgroup]; [encoder memoryBarrierWithScope:MTLBarrierScopeBuffers afterStages:MTLRenderStageMesh beforeStages:MTLRenderStageObject]; [encoder setRenderPipelineState:pipeline2]; [encoder drawMeshThreadgroups:threadgroupsPerGrid threadsPerObjectThreadgroup:threadsPerObjectThreadgroup threadsPerMeshThreadgroup:threadsPerMeshThreadgroup]; I get a strange error: Execution of the command buffer was aborted due to an error during execution. Too many unique viewports, scissor rectangles or depth-bias values to support memoryless render pass attachments. (0000000c:kIOGPUCommandBufferCallbackErrorExceededHardwareLimit) I'm not using multiple viewports or scissor rectangles and I'm not using depth bias. I don't have memoryless attachments, though as mentioned, I am using imageblocks. Without the memory barrier I don't get the error. Using memoryBarrierWithResources rather than memoryBarrierWithScope This is on an M2 Max running 14.3 Beta (23D5033f) I can't tell if I encountered a real limitation or a Metal driver bug.
1
1
295
Dec ’23
Seeking Clarification on UsdPrimvarReader Node Functionality
Hello fellow developers, I am currently exploring the functionality of the UsdPrimvarReader node in Shader Graph Editor and would appreciate some clarification on its operational principles. Despite my efforts to understand its functionality, I find myself in need of some guidance. Specifically, I would appreciate insights into the proper functioning of the UsdPrimvarReader node, including how it should ideally operate, the essential data that should be specified in the Varname field, and the Primvars that can be extracted from a USD file. Additionally, I am curious about the correct code representation of a Primvar in USD file to ensure it can be invoked successfully. If anyone could share their expertise or point me in the right direction to relevant documentation, I would be immensely grateful. Thank you in advance for your time and consideration. I look forward to any insights or recommendations you may have.
1
0
607
Dec ’23
MTLVertexDescriptor's offset -- everybody's doing it wrong
In pretty much every Metal tutorial out there, people use MTLVertexDescriptor like this: they create a struct like struct Vertex { var position: float3 var color: float3 } then a vertex array and buffer: let vertices: [Vertex] = ... guard let vertexBuffer = device.makeBuffer(bytes: vertices, length: MemoryLayout<Vertex>.stride * vertices.count, options: []) else { ... } This is all good, we have a buffer with interleaved position and color data. The problem is, when creating a vertex descriptor, they use MemoryLayout<float3>.stride as the offset for the second attribute: let vertexDescriptor = MTLVertexDescriptor() vertexDescriptor.attributes[0].format = .float3 vertexDescriptor.attributes[0].offset = 0 vertexDescriptor.attributes[0].bufferIndex = 0 vertexDescriptor.attributes[1].format = .float3 vertexDescriptor.attributes[1].offset = MemoryLayout<float3>.stride // <-- here! vertexDescriptor.attributes[1].bufferIndex = 0 vertexDescriptor.layouts[0].stride = MemoryLayout<Vertex>.stride This does not look correct to me. The code happens to work only because the stride of SIMD3<Float> (a.k.a. float3) matches the alignment of the fields in this particular struct. But if we have something like this: struct Vertex { var attr0: Float var attr1: Float var attr2: SIMD3<Float> } then the naive approach of using stride won't work. Because of padding, attr2 does not start right after the two floats, at offset 2 * MemoryLayout<Float>.stride but at offset = 16. So it seems to me that the only correct and robust way to set the vertex descriptor's offset is to use offset(of:), like this: vertexDescriptor.attributes[2].offset = MemoryLayout<Vertex>.offset(of: \.attr2)! Yet, I'm not able to find a single code example that does this. Am I missing something, or is everybody else just being careless with their offsets?
0
0
291
Dec ’23