Hi,I have serious difficulties with offscreen rendering in Metal or macOS. I can't find any example/demo project with solely offscreen rendering without any MTKView on 2nd pass. Just rendering to a texture with copying to a bitmap in system memory.My code works strange, it returns a black picture on first run and starts to render frames only if I call rendering on timer event or on a button click. If I call rendering in a loop, it always returns a black picture.I have no problem with usual rendering with MTKView.
Post
Replies
Boosts
Views
Activity
Hi,Many files with Metal examples on Apple Developer page are not available:https://developer.apple.com/documentation/metal?language=objcI see an error: HTTP ERROR 400 when I try to download the file.For example:"Customizing Render Pass Setup": https://developer.apple.com/documentation/metal/customizing_render_pass_setup?language=objc"Using a Render Pipeline to Render Primitives"https://developer.apple.com/documentation/metal/using_a_render_pipeline_to_render_primitives?language=objc
Hi,
I plan to publish my app outside Mac App Store. And I want to give users a possibility to keep old version when a new major release is available. For example, MyProduct 4 and MyProduct 5.
A. Should I use the same CFBundleIdentifier for all versions: com.company.myproduct
And users can manually move an old version from /Applications to another folder and then install a new version to /Applications to keep both versions.
B. Or use unique CFBundleIdentifier for every new release:
com.company.myproduct4
com.company.myproduct5
etc
So it allows to have all major releases together in /Applications
But I didn't find this approach when I checked other products.
Hi,
I want to know, will Apple eventually obligate developers to use Sandboxing for all apps, even outside Mac App Store? As a similar happened with code signing, notarisation, hardening. Are there any plans for this?
We're working on our first app, but sandbox looks very restrictive. A user project includes links to added files from multiple folders and it will become a nightmare for users to approve endless requests for files and folders.
I checked macOS 11 Big Sur and our app still works fine without sandboxing.
Hi,
I can't use OpenAl on macOS Big Sur on Apple Developer Transition Kit in my app compiled for Apple Silicon. Just silence.
It's a bug? Or OpenAl support is removed from Big Sur on ARM?
How to correctly handle text input with accents and umlauts in macOS? We write a 3D game using Metal and there is no standard text input box. Should we manually process a modifier key (Option)? Or there is a ready solution to tell MTKView that we input text?
Hi,
Even in Beta 6 I can't install Xcode Command Line Tools:
sudo xcode-select --install
I get this error:
"Can’t install the software because it is not currently available from the Software Update server."
I'm worried about this, because final version of Big Sur is close.
Hi,
We need to update some managed texture from system memory to GPU memory in every frame. Metal.
Problem: it seems that a texture still can be busy for rendering of queued frames and when we update it for next frame a previous frame can be rendered incorrectly (texture looks wrong).
How I can guess when a texture is being completely processed and can be re-used again? I don't know how long a queue of frames in Metal rendering.
It seems that DirectX can automatically create internal copies of a texture which we sent for rendering and we can start to modify the same texture for a next frame. How to do the same in Metal?
How to correctly install codesign certificates on second Mac?
I have first Mac where I successfully sign and notarize my apps for macOS outside AppStore.
On second Mac I downloaded existing "Developer ID Installer" and "Developer ID Application" certificates and installed in KeyChain. Also I downloaded and installed Intermediate Certificate.
When I try to sign anything on second Mac I see the error:
"error: The specified item could not be found in the keychain."
Also I have a file "CertificateSigningRequest.certSigningRequest" saved from first Mac. No idea how to use it.
What I missed in this nightmare to get it work? And keep codesigning on first Mac, too.
Hi,
I have 120GB in "Other" storage on my Macbook 12 with Big Sur.
I've read many articles with advices and have no clue where these 120GB?
The following folders:
/Applications/
/System
/Users
/Library
In total use only 48GB from 250GB. But I have only 64 GB of free space. Where are other 120GB ?!
Please don't advice to check Downloads, Trash Bin, Caches, etc. I already checked all these folders.
How I can force HiDPI on external monitor 2560x1440 to use it as virtual 1280x720 in Big Sur?
RDM doesn't show any Retina resolution.
I tried to generate displayproductid-***.plist for my monitor using a script: codeclou.github.io/Display-Override-PropertyList-File-Parser-and-Generator-with-HiDPI-Support-For-Scaled-Resolutions/
But
ioreg -l | grep "DisplayProductID"
ioreg -l | grep "DisplayVendorID"
returns nothing.
Also I tried this script: github.com/xzhih/one-key-hidpi - doesn't work, too.
Note that this folder cannot be modified even when SIP is disabled: /System/Library/Displays/Contents/Resources/Overrides/
Hi,
I need to hide my app icon in Dock after closing the app. By default Dock shows icons of recent apps.
I can't use LSUIElement because I need this icon in Dock when the app is running. Also my app uses fullscreen mode.
Also NSApp.setActivationPolicy(.accessory) doesn't fit my needs, because I need the main menu and icon when app is running.
My app for macOS has two parts: editor and viewer.
Where I should put a child-bundle of viewer in the main bundle?
Main.app/Contents/PlugIns/Viewer.app ?
After restarting macOS opens Terminal app (which was opened before a restart). And Terminal ignores all custom global environments.
This bug exists in Big Sur and Catalina.
If close Terminal app and launch manually everything is OK.
I write custom global environments to environment.plist file which is placed in user's home folde > Library > LaunchAgents
and then loaded:
launchctl load /Users/myprofilename/Library/LaunchAgents/environment.plist
launchctl start /Users/myprofilename/Library/LaunchAgents/environment.plist
I need custom global environments to set a variable to my working directory which is used in compilation scripts.
My app is cross-platform and I don't use Xcode project.
All localization inside app is performed with an internal code and works fine.
There is a problem with localization in NSOpenPanel and NSSavePanel. They always appear on English and don't use macOS current language (French) of an user.
I added the following code to Info.plist :
<key>CFBundleLocalizations</key>
<array>
<string>en</string>
<string>fr</string>
</array>
But NSOpenPanel still appears on English.
I checked macOS TextEdit app which shows NSOpenPanel correctly with current OS language. Its Info.plist doesn't set any CFBundleLocalizations records. How this app tells macOS what language should be used for NSOpenPanel?