Is there a way to create a BGRA8Unorm texture that doesn't take up a lot of memory on the device (iOS and MacOS)? In my app the user can create a texture of any size, however the memory usage becomes too high even with relatively average sized textures (ex. 2048 by 2048). Is there a way to create large textures that don't take up a lot of memory?
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I have a UIMenu that is being triggered as a primary action for a UIButton. Each menu item has a UIAction associated with it that gets called when I click on the item. What I'm wondering is if there is a way to add a hover action to these menu items so that they can run a different action only when being hovered?
How can I take the contents (i.e. the stroke and fill) of a CAShapeLayer and draw it into an MTLTexture, which can then be displayed with a normal vertex/fragment shader?
Where can I find documentation, example projects, or video tutorials on how to work with Core Video and Metal?
Is there a way to determine when the user is about to quit the application while using Mac Catalyst? I'd like to alert the user when they have unsaved changes before they quit, but cannot seem to find how to do that using Mac Catalyst.
I'm developing a drawing application using Metal and was wondering what the best way to draw smooth lines is? I current use the touchesMoved function to track where the user draws, and then attempt to create triangulated lines from that. The problem I am facing is that the line segments start to fold at the edges while drawing. How can I implement round line caps to avoid this? As you can see from the circled parts of the image, the ends of the brush stroke are very jagged. I'd like to avoid these and instead make them round.
I have two render passes, one that is nested within another, and I'd like for the inner pass to have access to the color attachments of the outer pass. Is it possible for render pass 2 to have knowledge of render pass 1's color at any given moment? Here is the logic:
1.) Start render pass 1 with texture 1
2.) Draw objects
3.) Start render pass 2 with texture 2
4.) Draw objects using color from render pass 1
5.) End render pass 2
6.) Draw output of render pass 2 into render pass 1
7.) End render pass 1
While developing my Metal application I noticed that making a draw call is a lot slower than using a tile shader. In particular, when operating on a 4k resolution texture it takes about 3ms to complete a draw call while the tile shader takes about 150ns. I was wondering, is a tile shader the preferred approach for drawing with Metal now? Or is there any particular reason why a typical draw call should be used.
I created a custom file type for my app as a package. However when I run the app and try to open a file it does not recognize it as the custom file type, but instead as a regular folder. I haven't changed my settings since I first setup the custom type, and only some of these files in Finder are showing properly. Do I need to do something in Xcode to change the rest of the files in Finder?
I have a UITextView and a UITextField. I would like to select a range of text in the text view and then edit the text in the text field, which will perform some action on the selected text from the text view. Is there a way to edit the text field without losing the selected text in the text view?
For better memory usage when working with MTLTextures (editing + displaying in render passes, compute shaders, etc.) is it possible to save the texture to the app's Documents folder, and then use an UnsafeMutablePointer to access/modify the contents of the texture before displaying in a render pass? And would this be performant (i.e 60fps)? That way the texture won't be directly in memory all the time, but the contents can still be edited and displayed when needed.
I am trying to make a drawing app using swift and wanted to add a feature to stabilize the curves that the user draws. Sometimes the curves come out jittery, so I was wondering if there was any kind of algorithm that would look at the point before drawing it to the screen and force it to be closer to the previous point, thereby smoothing it out.
If I want to use SF Symbols 3 in my swift project, do I have to export the symbols from the SF Symbols app and add them to my app's Asset Catalog, or is there a way for Xcode to automatically use those symbols without me having to add them to the Asset Catalog?
I have a quad made up of two triangles rendered using indexed primitives. How can I create a transform where only one corner of the quad is stretched, like the perspective tool in most drawing apps?
For example:
How can I create a dashed line using a Metal shader? I'm thinking something similar to the CoreGraphics "lineDash" property.