Beginning Metal - Part 15: Conclusion | Ray Wenderlich

In this closing video from Beginning Metal, you’ll review what you’ve learned, and get some hints on where to go from here.


This is a companion discussion topic for the original entry at https://www.raywenderlich.com/3537-beginning-metal/lessons/15

I’ve just finished this course :slight_smile: and I’m very happy that this course was made by Caroline - there’s something different in her teaching and for now I don’t know what it’s :wink: … so anyway I enjoyed this course a lot and now I’ve a hope to learn Metal … Thank you!

It was a big surprise for me about my smile and joy when I get on screen these simple figures at the beginning of this course :smiley:

And indeed this is just a beginning :slight_smile: … so I hope that there will be Intermediate series for Metal from Caroline :wink:

But for now (actually after some time) I’ll go one more time through this course because there are a lot of to stuff to learn :slight_smile:

1 Like

@ilmaros - what a lovely review! Thank you so much for writing all that, and I’m so glad that you found the course useful.

Caroline,

Thank you for this informative course on Metal and GPU.

Don

1 Like

Hi Caroline! I finished the course. It was great! I still have one issue though. Whenever I build and run the application it starts of with the perspective as if my iphone was in landscape orientation. So I get horizontally squished and vertically stretched image. Any ideas how that’s possible?
Thanks for the great tutorials!

@bababoega - Well done for finishing, and I’m glad you enjoyed it.

Does your sample app do this? The final one doesn’t for me.

It’s to do with the camera aspect. On initial running, the aspect should be the size of the scene, which should reflect the orientation of the iPhone.

To change the aspect on rotation, the Renderer should implement mtkView(_:drawableSizeWillChange:) in the MTKViewDelegate

When I went over the course for the first time, I had the same (similar) issue with aspect ratio
(I was running this app on iPhone 7).
Running the app for the first time the aspect ratio in portrait was wrong, but then I switched it to landscape and then back to portrait, the aspect ratio was ok.
I supposed that I had something missed :wink:

=> But now I have finished this course for the second time, and I have got the same issue with aspect ratio.
So I added in ViewController.swift → viewDidLoad() → scene.sceneSizeWillChange(to: view.bounds.size) and issue have gone :slight_smile:

p.s. in Renderer I had / have:
func mtkView(_ view: MTKView, drawableSizeWillChange size: CGSize) {
scene?.sceneSizeWillChange(to: size)
}

1 Like

@ilmaros - thank you for following this up.

I wonder if it’s an iPhone 7 thing. I only have an iPhone 6s. I’ve noticed differences in the simulator between 6s and 7 in other regards.

@bababoega - are you testing on an iPhone 7?

No I’m testing on my iPhone 6s. But when I ran your final version, it didn’t have the problem so I think I just missed a method somewhere. Are there any plans to do an intermediate level / follow up metal tutorial series? Can’t wait for more!

1 Like

@bababoega - Not in the immediate short term, but who knows what will happen? :smiley: :metal:

Great course, Thank you.
But Im try to add shadows to the same logic you have in the source code. But it is impossible to me. There is some additional material to help to get there, or where I can watch to succeed with shadows. Im trying to use the same logic of your source code.
Again, great course to to start Metal.

@sorento - you could try this. I’m not 100% sure it compiles in the latest Swift, but hopefully it’ll give you a start.

Hi Caroline,
Great course, I really enjoyed it.
Is there like a slack channel for Metal discussions, so that we can get quick answers and feedback from the community.
Thanks

I created a slack https://metalapi.slack.com/ for anyone interested.

@quentin what is your email address? You can send me a private message on this forum if you want to keep it private. I can add you to the Cocoa3D slack group which is the largest community for GPU programming on Apple platforms and other 3D topics.

Thanks for the kind words, @quentin :smiley:

1 Like