Well, I've got an idea to write a program to convert a text into game/movie, and trying different programming languages I came back now to Assembler (for Windows). I found (http://wasm.ru/publist.php?list=19#series_5) some information that I can make programs for OpenGL and DirectX using Assembler language. Well, previously I tried to learn C/C++, but this came out to be rather complicated - anyhow, assembler is quite more easy in a sense that it is 1:1 - hardware:software corresponding, but C uses some abstraction. The problem that those "high"-languages create a lot of abstraction, and ultimately I waste time to learn something which is not very important. At least I remember my experience trying both C/++ and Assembler (for Windows like MASM32) - and Assembler came out to be easier and more 'transparent' and clear to understand than C (I tried Visual Studio from MS). If ultimately I just have to call for this or that function of DirectX or OpenGL etc, then there is no difference in using C or Assembler or Visual Basic etc - everything is converted in machine code which is just 00-es and 111-es (010101010001101001)...
So why not learn machine code, how to program Video/Graphics card - using assembler etc, so then it is clear how to write for OpenGL, DirectX etc...? Maybe I am wrong?
Ultimately my idea is the following:
- open some text - it can be RTF document or whatever. I can create a RTF-box even in assembler - no problem.
- Then I need to analize the text, find different words in the text, and convert them into 3d-animation. That is another question why I want to do it, and is it possible or not (there are programs which can do something of this, so I just want to combine all those technologies into one to make something very meaningful). I tried to do that automatic analisis of text using Visual Basic (I have to compare each character to know if this is a space character or other to separate one word from another etc) - so this takes a lot of time. Though, some visual elements like "ListBox", "ListView", "TreeView" is not so important - actually I need just to get a fast result out, so this can be done even in command line - that is faster (well, even some text scripts of UNIX OS etc). So anyhow, I understand that Assembler can do this faster - and even faster than C. Anyhow, problem is not only in the speed/performance. I find many books for OpenGL/DirectX for C/C++, but when I think that my program might run on other platforms like Mac-OS, Unix/Linux/Android/Java (not just Windows), of course, then I think that C/++ might be a better choice than Assembler, but I see that even C/++ are not very compatible between platforms, so then what is the use of so-called "cross-platform" code?
Well, now why am I writing here? I've made as mall Visual Basic program - http://sourceforge.net/projects/vedaviz/
there I can load a text and add images for words. So I want to 'upgrade' to C/++ and OpenGL/DirectX for faster code etc, but I know Assembler better than C, so I choose Assembler (bad choice? why?). I just need to know some OpenGL (croos-platform)/DirectX (Windows) functions, which can let me create full-screen OpenGL/DirectX application, and draw there 3d objects according to words which I find in text automatically according to dictionary (that requires some part-of-speech tagging and system similar to machine-translators, and also - those which are used even in compilers to find this or that word, understand its meaning in context - is it instruction or just data?).
In more simplified version this program might work just like chess program which loads "chess notation" commands - to move this or that figure to this or another place (my program would thus get nouns and verbs from text automatically and convert into "chess notation"). But I will not like a program which would do this only in text mode - I want that program would work in some nice 3d graphics with vector animation - similar to OpenGL and DirectX.
So, if you can help in this task, I'ld be happy. Probably program can be done open-source, if others would cooperate and contribute (yes, I know I can't write so much code myself for OpenGL, DirectX, but if different people would cooperate - this would be faster).