I recently found the tinted app icon feature, which I love I think it is such a cool idea. The execution on the other hand is slightly flawed, I tried to set my apps to the light pink color. The feature work well in the editing area but once I clicked done the apps went from a light pink to dark red. I have tried this multiple times with multiple colors and the issues are consistent through all colors except when using the color dropper.
General
RSS for tagDelve 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
Is MTKView intentionally unavailable on visionOS or is this an issue with the current beta?
Hello, I'm new here, I was developing a screen recording extension for an IOS application, I used the RPSBroadcastSampleHandler livekit as a basis, in tests a few months ago it worked, but after the long wait for publishing authorization the extension stopped working, I noticed which is not just mine but screen sharing from Google Meet, Zoom Mettings and others also don't work, I tested it on iPhone 14 pro and iPhone 6s, nothing worked, the option to select the extension appears but when clicking "start sharing" nothing happens and after a few seconds the sharing button returns to "start sharing", the same behavior in all tested apps, does anyone know what happens? Did you change the way you record and no app has updated? Internal error in IOS? Nothing logs in terminal just doesn't work.
Hi,
we've been developing an iOS game using OpenGL ES, trying running compatible iOS app on Vision Pro Simulator on M1 Mac, but we met a strange EXC_BAD_ACCESS crash in glDrawElements(), while the app run normally on ios or ipad simulators with the same developing environment. The stack like following:
Our Mac is a Mac Studio(2022) with Apple M1 Max and MacOS 14.1.2.
Xcode: Version 15.3 (15E204a)
Simulator OS: Vision OS 1.1
Translated Report (Full Report Below)
Process: Adobe Photoshop 2024 [4860]
Path: /Applications/Adobe Photoshop (Beta)/Adobe Photoshop (Beta).app/Contents/MacOS/Adobe Photoshop 2024
Identifier: com.adobe.Photoshop
Version: 25.11.0 (25.11.0)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
User ID: 501
Date/Time: 2024-07-03 20:14:56.0222 +0200
OS Version: macOS 15.0 (24A5279h)
Report Version: 12
Anonymous UUID: BB272497-0BFA-2A39-D111-605692AACBB4
Time Awake Since Boot: 5300 seconds
System Integrity Protection: enabled
Crashed Thread: 50 Dispatch queue: com.apple.coreml.MLE5ProgramLibrary.lazyInitQueue
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: Namespace SIGNAL, Code 6 Abort trap: 6
Terminating Process: Adobe Photoshop 2024 [4860]
Thread 0:: Main Thread 25.11.0 20240626.m.2679 509bf35 Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x1930125ac __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x193050894 _pthread_cond_wait + 1204
2 QuartzCore 0x19bf1cc40 CA::DispatchGroup::~DispatchGroup() + 68
3 QuartzCore 0x19beefec8 CA::Layer::display_if_needed(CA::Transaction*) + 724
4 QuartzCore 0x19c07e2b4 CA::Context::commit_transaction(CA::Transaction*, double, double*) + 528
5 QuartzCore 0x19bed2514 CA::Transaction::commit() + 648
6 AppKit 0x196d82a48 __62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke + 272
7 AppKit 0x19786cc7c ___NSRunLoopObserverCreateWithHandler_block_invoke + 64
8 CoreFoundation 0x193137a50 CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 36
9 CoreFoundation 0x19313793c __CFRunLoopDoObservers + 552
10 CoreFoundation 0x193136f70 __CFRunLoopRun + 804
11 CoreFoundation 0x1931365dc CFRunLoopRunSpecific + 608
12 HIToolbox 0x19ea1e8b8 RunCurrentEventLoopInMode + 292
13 HIToolbox 0x19ea24508 ReceiveNextEventCommon + 220
14 HIToolbox 0x19ea2480c _BlockUntilNextEventMatchingListInModeWithFilter + 76
15 AppKit 0x196c5f6f0 _DPSNextEvent + 660
16 AppKit 0x197563530 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688
17 Adobe Photoshop 2024 0x104fa9d74 0x102570000 + 44277108
18 AppKit 0x196c527fc -[NSApplication run] + 480
19 Adobe Photoshop 2024 0x104fab4a4 0x102570000 + 44283044
20 Adobe Photoshop 2024 0x104fad444 0x102570000 + 44291140
21 Adobe Photoshop 2024 0x105006240 0x102570000 + 44655168
22 Adobe Photoshop 2024 0x10786d6e4 0x102570000 + 87021284
23 Adobe Photoshop 2024 0x1025751cc 0x102570000 + 20940
24 dyld 0x192ccf274 start + 2840
The application that I'm working on uses WebKit. I'm facing a strange behavior in the app with MACOS14.5, in which errors are being reported only for this OS version.
I have a macos app that creates a sports scoreboard and streams this out in a third party streaming format. I need to use a library for this, which expects a CVPixelBuffer e.g. every 0.04 secs (25 fps).
The scoreboard is a view with some subviews (scores, timers, etc) in an offscreen window. When a timer triggers to create a new frame, my code does:
• create a bitmap-representation for the view
• make a view.cacheDisplay(...)
• create a CIImage from the bitmap-representation
• create a CVPixelBuffer using CVPixelBufferCreate (kCVPixelFormatType_32BGRA format)
• render the CIImage into the CVPixelBuffer using ciContext.render(ciImage, to: pixelBufferOut)
• and finally hand over the CVPixelBuffer to the video library.
Works, the app is in production.
Now I come to the point where I need someone to tell me in which direction I have to think. The next feature requested is to do some animation for the scoreboard graphics , e.g. a simple "fade in" and "fade out". Later I would like to do more complex things, but let's just look at that.
When I add a CABasicAnimation(keyPath: #keyPath(CALayer.opacity)) for fade in / fade out to the scoreboard base view (all views with layer), I can see it smoothly fading after I moved my offscreen to onscreen, so the animation works on screen. But in the video stream there is no animation, no fading, the content is shown with opacity 0.0 at one frame and in the next frame 1.0 (fade in) and the other way round for fade out. I have a not-animated, always visible text field displaying a timecode in the video screen and that shows every timecode in the video, so the frames are in fact generated, but contains no scoreboard view with an opacity other than 0 or 1.
How can I get the rendered frames from an animation? Is it somehow possible with Core Animation? Do I have to dig into Metal?
I searched for hours to find something, but "animation" leads to discussions about animations on screen, while "video" is always about AVFoundation, but there is this library I have to use.
Thanks for any hints,
Nina
I have worked through the LearnMetalCPP project but it seems that even with the port of AppKit.h to C++ framework, nobody included a method to gain keyboard and mouse inputs in C++. I am under the impression AppKit had a way to manage events with NSEvent and NSResponder, as it mentions in the developer documentation for gaming input systems, but this is excluded from the CPP version of Appkit.h. Can't seem to find a way to handle inputs at all and it's making it seem impossible for anyone to successfully make a game on MacOS in C++.
Usually I would be able to handle it with SFML or SDL, but I am wondering since c++ isn't native to macOS if there is any possible way to handle game inputs with C++ at all.
It is Apple's hardware, shouldn't they be the ones to create a C++ game input framework? They seem to have a game input framework for every language except for C++. I would understand that they just don't want to do it because C++ isn't native to macOS, but with the new release of Metal CPP, It makes no sense that they wouldn't include a hardware input event system and especially if they want us to port games to MacOS.
Hi,
I'm having a small App in the AppleTV-Simulator which is supposed to use the Siri-Remotes Swipe-Gesture.
It works perfect on the real device but on the simulator the Swipe-Gesture is not recognized in the App but it works on the Start-Screen of the Simulator using the simulated Siri-Remote app.
Here is the code which sets up the xAxis ans yAxis value change handlers:
#if targetEnvironment(simulator)
// Simulator
let siriRemote = GCController.controllers().filter { controller in
if controller.vendorName == "Gamepad" {
return true
} else {
return false
}
}
let sController = siriRemote.first!
let inputProfile = sController.physicalInputProfile
let dPad = inputProfile.dpads["Direction Pad"]
self.dPad = dPad
self.dPad!.xAxis.valueChangedHandler = self.directionPadXAxisValueChangeHandler
self.dPad!.yAxis.valueChangedHandler = self.directionPadYAxisValueChangeHandler
}
#else
// Device
if let _ = ( notification.object as? GCController)?.microGamepad {
let microProfileController = notification.object as! GCController
self.microGamePad = microProfileController.microGamepad
self.dPad = self.microGamePad!.dpad
self.dPad!.xAxis.valueChangedHandler = self.directionPadXAxisValueChangeHandler
self.dPad!.yAxis.valueChangedHandler = self.directionPadYAxisValueChangeHandler
}
#endif
Any help is greatly appreciated.
Cheers,
Frank
Hello!
I run into, what seem to be compiler issue. The shader source given to Metal is: https://shader-playground.timjones.io/1bcf3ffbb313878ccd594ddbb27b746e
This shader is generated by spirv-cross, from GLSL source, so for readability here is original source: https://github.com/Try/OpenGothic/blob/master/shader/hiz/hiz_mip.comp
(shader variant uses SSBO counter, not atomic-image)
Here is relevant path of application log:
2024-04-21 16:27:13.621218+0200 Gothic2Notr[23992:2003969] Compiler failed with XPC_ERROR_CONNECTION_INTERRUPTED
2024-04-21 16:27:13.656559+0200 Gothic2Notr[23992:2003969] Compiler failed with XPC_ERROR_CONNECTION_INTERRUPTED
2024-04-21 16:27:13.701323+0200 Gothic2Notr[23992:2003969] Compiler failed with XPC_ERROR_CONNECTION_INTERRUPTED
2024-04-21 16:27:13.701477+0200 Gothic2Notr[23992:2003969] MTLCompiler: Compilation failed with XPC_ERROR_CONNECTION_INTERRUPTED on 3 try
2024-04-21 16:27:13.701817+0200 Gothic2Notr[23992:2003969] Compiler failed with XPC_ERROR_CONNECTION_INTERRUPTED
iOS version: 15.8.2
MTL::CompileOptions::languageVersion: 2.4 (also tested other version - same result)
Offended part of shader:
void store(int mip, ivec2 uv, float z) {
// NOTE: replacing this function to NOP, avoid the crash
// NOTE2: this switch-case is crude emulation of bindless storage-image
switch(mip) {
case 1:
imageStore(mip1, uv, vec4(z));
break;
case 2:
imageStore(mip2, uv, vec4(z));
break;
case 3:
imageStore(mip3, uv, vec4(z));
break;
case 4:
imageStore(mip4, uv, vec4(z));
break;
case 5:
imageStore(mip5, uv, vec4(z));
break;
case 6:
imageStore(mip6, uv, vec4(z));
break;
case 7:
imageStore(mip7, uv, vec4(z));
break;
case 8:
imageStore(mip8, uv, vec4(z));
break;
}
}
Some extra info:
The shader is simplified single-pass mip-map generator.
The same shader is know to work on mac M1 laptop without any issues
Please have a look and looking forward for driver-fix. Thanks!
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.
If anyone even uses this, GCVirtualController from import GameController no longer plays nice with SwiftUI NavigationView
Working on changes to get by...
This was working in iOS 17.x but not in iOS 18 and iPadOS 18.
Just a heads up...
Recently started playing this game, when I restarted my computer once it glitched out and when I tried to open it again, it said "last time you opened this app, it was force quit. Do you want to reopen it?" then the app closes itself immediately. How can I fix this? How can I remove the caches?
Hello, I have a USDC file with vertex color (WITHOUT textures), and it displays perfectly in Preview. If I package it in a zip (without compression) and rename the resulting file to USDZ, I can see it without any issues in AVP and Mac. However, if I send it to an iPhone, the vertex color does not display.
Is there anything else I need to do besides packaging the USDC without compression in a ZIP?
Thank you very much.
Hey,
Just watched and started investigating a new TabletopKit framework, which looks fantastic.
I'm looking at how multiplayer can be tested.
Found info about testing on multiple real devices here - https://developer.apple.com/documentation/tabletopkit/tabletopkitsample#Start-a-multiplayer-game-on-devices
I wanted to ask about options for testing multiplayer on simulators, maybe with a simulator + a single real device.
Unfortunately, having multiple VisionPros for indie development is unrealistic, so I hope there are ways to do it.
Does GPTK2 support all AVX instructions like F16C, or only AVX2?
when i open settings on my phone, i cant see game mode settings
i work as a game tester in game company and i need more information about the game mode
visionOS 2.0 enables passthrough with Metal now:
https://developer.apple.com/wwdc24/10092
This suggests it will be possible for WebXR’s AR passthrough module to be implemented for Safari.
Is this already available, perhaps behind a flag?
I think it's kind of essential to have eye tracking data available to apps in VR mode (with the user's permission).
The biggest problem I've observed is that Unity isn't able to implement dynamic foveated rendering without eye tracking data.
Without the eye tracking it's only possible to have fixed foveated rendering. That gives a performance boost to rendering, but it also makes it so it gets blurry for the user if they look to the side without turning their head.
I understand why it's a privacy issue to have apps tracking where the user is looking in the real world, but video passthrough is disabled in VR -- so it should be ok to enable eye tracking in VR (with the user's permission).
Unity already supports dynamic foveated rendering (with eye tracking) for other VR headsets, and Vision Pro has the best eye tracking -- so Vision Pro should definitely have the best dynamic foveated rendering in VR.
Hi, I've got a well established game in gamemaker, which seems to crash on latest gen ipads. In particular have been able to reproduce in ipad 11-inch M2 in the emulator.
Game launches, shows the splash screen, and seems to crash as it's leaving it, but before launching the game itself, as such the log results are rather limited.
I'm attaching what I can see from the crash, and hope anyone has a suggestion in what might be different in this model of the ipad to warrant this sort of crash. Any leads would be welcome.
Thank you in advance.