Your first c++ project...
-
is to create a SketchUp texture mapping plugin based on this newly open-source code developed and used by Disney Animation Studios:
-
Was reading about this over the weekend, I'm sooo happy you picked up on this.
I know diddly about code, but I make a great cheerleader..
-
That looks super cool Jim! I am on it tonight! Give about 5 years and I will have some progress updates
Chris
-
[flash=425,344:vthg3fqm]http://www.youtube.com/v/vJHekH9nCzw[/flash:vthg3fqm] -
interesting.
But I'm wondering if C++ is the language to go with? When you compile a C++ project, isn't that then limited to that type of processor? I'm wondering if something like C# would be a more pain-free option?
-
I dont think your executable has to be limited by what processor your using (broadly speaking at least, just look at the range of machines SU can run on) although your certainly limited to what OSes your program can run on.
-
and heres the paper: http://www.disneyanimation.com/library/ptex/
i look forward to seeing your results
-
@thomthom said:
... I'm wondering if something like C# would be a more pain-free option?
C# is Windows only. C++ runs where you compile it. C++ compilers are available almost everywhere. C++, though it's too big for my taste, is much smaller than C#.
-
@martinrinehart said:
C# is Windows only.
C# isn't windows only. You can use on linux - the Mono project.
@martinrinehart said:
C++ runs where you compile it. C++ compilers are available almost everywhere.
But you need one exe for Intel machines and one for AMD? or have I gotten that wrong?
-
@thomthom said:
C# isn't windows only. You can use on linux - the Mono project.
...
But you need one exe for Intel machines and one for AMD? or have I gotten that wrong?I've got to educate myself re that project and C# on Linux.
<p>
Never had any issues re AMD and Intel. Use SketchUp, for instance, on both. -
@martinrinehart said:
Never had any issues re AMD and Intel. Use SketchUp, for instance, on both.
I've been confused by the Beginner Guide found here: http://msdn.microsoft.com/en-us/beginner/cc305129.aspx
Chapter 1: C++ Fundamentals - CRITICAL SKILL 1.2: How C++ Relates to Java and C#
@unknownuser said:
The main difference between C++, Java, and C# is the type of computing environment for which each is designed. C++ was created to produce high-performance programs for a specific type of CPU and operating system. For example, if you want to write a program that runs on an Intel Pentium under the Windows operating system, then C++ is the best language to use.
@unknownuser said:
Q: How do Java and C# create cross-platform, portable programs, and why canβt C++ do the same?
A: Java and C# can create cross-platform, portable programs and C++ canβt because of the type of object code produced by the compiler. In the case of C++, the output from the compiler is machine code that is directly executed by the CPU. Thus, it is tied to a specific CPU and operating system. If you want to run a C++ program on a different system, you need to recompile it into machine code specifically targeted for that environment. To create a C++ program that would run in a variety of environments, several different executable versions of the program are needed.
Java and C# achieve portability by compiling a program into a pseudocode, intermediate language. In the case of Java, this intermediate language is called bytecode. For C#, it is called Microsoft Intermediate Language (MSIL). In both cases, this pseudocode is executed by a runtime system. For Java, this runtime system is called the Java Virtual Machine (JVM). For C#, it is the Common Language Runtime (CLR). Therefore, a Java program can run in any environment for which a JVM is available, and a C# program can run in any environment in which the CLR is implemented.
Since the Java and C# runtime systems stand between a program and the CPU, Java and C# programs incur an overhead that is not present in the execution of a C++ program. This is why C++ programs usually run faster than the equivalent programs written in Java or C#.
Java and C# were developed in response to the unique programming needs of the online environment of the Internet. (C# was also designed to simplify the creation of software components.) The Internet is connected to many different types of CPUs and operating systems. Thus, the ability to produce cross-platform, portable programs became an overriding concern.
The first language to address this need was Java. Using Java, it is possible to write a program that runs in a wide variety of environments. Thus, a Java program can move about freely on the Internet. However, the price you pay for portability is efficiency, and Java programs execute more slowly than do C++ programs. The same is true for C#. In the final analysis, if you want to create high-performance software, use C++. If you need to create highly portable software, use Java or C#.
One final point: Remember that C++, Java, and C# are designed to solve different sets of problems. It is not an issue of which language is best in and of itself. Rather, it is a question of which language is right for the job at hand.
I read that compiled C++ project worked on a limited amount of hardware. Thought it sounded odd. Still don't quite understand what the quoted is saying though.
-
C#,Java, Javascript and Ruby are interpreted languages, your source code is translated to an intermediary form that is run in a virtual machine.
-
@chris fullmer said:
That looks super cool Jim! I am on it tonight! Give about 5 years and I will have some progress updates
Chris
FWIW This is essentially how LightUp works under the hood. I've had for some time realtime painting tools working in LightUp but I've never had time to productize them.
Adam
-
@adamb said:
FWIW This is essentially how LightUp works under the hood.
I've had for some time realtime painting tools working in LightUp but I've never had time to productize them.Adam
Maybe a MakeUp plugin.
Advertisement