Is there a library for SCNMaterials in swift? - scenekit

I am pretty new to working with materials in SceneKit, and am finding generating materials pretty difficult. Is there any sort of library of material examples online somewhere? Thanks :)

Because SceneKit has OpenGL roots, you can replicate most simple OpenGL materials in SceneKit. See, for example, https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Every_Material_Known_to_Man and http://devernay.free.fr/cours/opengl/materials.html.
Simon Gladman has a simple SceneKit material editor on Github that is useful if you're tinkering: https://github.com/FlexMonkey/SceneKitMaterialEditor.
More complicated and realistic looking materials generally require the use of shaders. I'm not aware of a SceneKit shader library.

Related

Where can I get example opengl composite objects?

I am trying to build my understanding of OpenGL and see how the 'pros' do things. I am looking for examples of these objects (preferably in C) - I've learned through examples so I think it would help others to see it as well :)
I'm very much a nubie at openGL so this may be a stupid question - I'm just looking for objects I can mess around with to get more familiar with openGL. I have found that it's easier for me to pick things up by tweaking an example until it breaks, then fix it :)
#Nicol Bolas - When I say composite objects I mean objects that when linked together create something 'larger.' An example would be a car. It has a body and tires. Maybe I'm not using the correct term here?
You might be interested in this list of OpenGL based games and applications, particularly the Open Source games.
Also, Ogre 3D is a well-known Open Source graphics engine with an OpenGL renderer.

Custom arbor.js shapes

I'm creating html canvas illustrations using a an adobe illustrator plugin. Here is link to an example The example is an fried egg. As a fun project I'm making an illustrated restaurant menu linking things like eggs, bacon, bread etc.
I'm hopping to use these illustrations within arbor.js Any ideas how to do this?
I've found the best way to work out what's going on with arbor.js is to dive in and read the code, it's really well laid out. Look at the JavaScript for the sample project, in particular particleSystem.eachNode. You can see how and where the nodes and edges are rendered. For a more thorough version, check out the 'Altas' example - that shows how to do text rendering on the nodes.
Good luck!

WPF component for 2D tree diagram

I'm looking for a well-documented, supported WPF component that provides an API for visualisation of 2D tree diagrams. Ideally something easy to use, customisable (i.e. supports various flavours of nodes and splines) and preferably with automated layout control.
Tools that look good so far are GoXam (http://www.nwoods.com/components/silverlight-wpf/goxam-overview.htm) and yFiles WPF (http://www.yworks.com/en/products_yfileswpf_about.html).
Just wondering if anyone has experience with either of these, or can recommend an alternative?
Thanks!
Disclosure: I work for Mindscape
We build a WPF Diagramming component also that does create tree diagrams as well.
WPF Diagrams
A recent blog post about the tree layout algorithm
It's entirely supported and the team would be happy to help you through the development.
I hope that helps

Fundamentals of Game Programming in C

During the last 2 months I've been trying to learn the basics of game programming. So I coded a few simple games in Java to learn the fundamentals, such as Tetris, Checkers and Pac-Man.
Now I want to learn/improve my skills in C, so I have this idea of writing those games in C to learn more about memory management, no OOP, etc. I have done basic C programming before but never with graphics, so I don't know where to start.
Which libraries should I use to write simple 2D games in C? GTK+? Cairo libraries? Any tutorials you can recommend? Graphics libraries?
Thanks
I would recommend using the SDL graphics libraries, there are some pretty good tutorials and demonstrations here... http://www.libsdl.org/ and for tutorials here... http://www.sdltutorials.com/ Hope it goes well!
Doing some openGL with glut is a good place to start in my opinion, as it allows you to do both 2d and 3d graphics.
http://www.opengl.org/resources/libraries/glut/glut_downloads.php
If you want another layer to help you with various parts of game programming (keyboard and mouse events, sound, etc..) you can use SDL with openGL.
http://osdl.sourceforge.net/main/documentation/rendering/SDL-openGL.html
There are lots of tutorials around the web to help get you started.
If you want to do C game development, OpenGL with glut is a good start..
The red book is your friend!!
Although the following are not 2d; as everyone is mentioning 3d i might add the following libraries; they are open source libraries for 3d engines.
Ogre is a pretty popular open source graphics engine. "Torchlight" was written in it, and so was "A tale in the Desert". Also the unreal engine has gone open source.
A 2D library that just crossed my mind and is amazing to use is Quartz from OSX. The tools are pretty damn good as well. You'll have to learn some Obj-C though, but its a nice language.
As someone mentioned you need some key Math skills to move up in the game programming world. I don't know how much is involved in animation and modelling since tools are available, but to write engines of any sort Linear Algebra is involved; this applies to 3D programming and it might be involved in 2D Opengl. Gilbert Strang's introductory book on Linear Algebra is amazing. Mit opencourseware also has an entire semesters worth of lectures available by Gilbert Strang on Linear Algebra. You can download them directly from Itunes or on the web.

What is the best path for working with 3d graphics?

Right now, I think a combination of C and openGL is what I need to learn, but it seems like there is still more to it that I need. Also, I'm not sure where to start. I know some C, from reading the C Programming Language (K&R).
If you understand the concepts behind 3D computer graphics then OpenGL + C is about all you need. If you need some help with the concepts then I'd suggest the NeHe OpenGL tutorials and a good reference book like The Red Book.
It depends on what you are trying to do:
If games interest you and you just want to develop amateur stuff without all the fuss, XNA + C# is by far the easiest way to start.
If you plan on becoming a professional game developer, your best bet is DirectX + C++.
If you like open source and just want to mess around with general 3D, OpenGL + C/C++ will offer you a nice community of dedicated people.
There are of course a number of engines and library you can use on top of the last two, such as Torque, Geometric Tools, etc.
I suggest you to take a look at .NET possibilities, i.e XNA Framework
I don't think there is more to it. What makes you think so ?
C and OpenGL is enough to begin with.
I've found that using 3D Studio Max and actually making models helped a lot when it came to learning some OpenGL. I could understand all the intricacies with normals and whatnot.
I would really recommend against trying to learn C and OpenGL at the same time. They are both complicated and more so when you mix them.
I would recommend extremely highly getting, reading, and working through some of the examples in the book Computer Graphics: Principles and Practice. Yes, the book is MASSIVELY out of date; it's still the canonical reference for this sort of thing.

Resources