- What is ray tracing? Everything you need to know about the next big graphical leap - 1 Update
- You have to understand me - 1 Update
- cmsg cancel <pn3tnt$6m0$2@dont-email.me> - 2 Updates
- More explanation about my Graph3D unit - 1 Update
- My Winmenus using wingraph and Graph3D units were updated to version 1.1 - 1 Update
- What does "ill-formed" mean? - 2 Updates
Horizon68 <horizon@horizon.com>: Sep 09 04:21PM -0700 Hello.... We hear that: CPU rendering more accurate (and generally assuming raytracing is involved), so GPU is used for draft that CPU is used for final. So read the following interesting webpage about: What is ray tracing? Everything you need to know about the next big graphical leap https://www.techradar.com/news/ray-tracing Thank you, Amine Moulay Ramdane. |
Horizon68 <horizon@horizon.com>: Sep 09 02:58PM -0700 Hello, As you have noticed i am more specialized in parallel programming and scalable synchronization algorithms. You have to understand me, i have just included my Graph3D unit inside the zip file of my Winmenus, and you will notice that i also wrote a 3D program called Cube3D.pas that uses my Graph3D unit, i have also included its windows executable inside the zipfile, but i am actually implementing a "scalable" Parallel ForEach that will use my "scalable" Threadpools and i am also implementing async and await and implementing futures and as soon as i will finish to implement them, after that i will render my Cube3D.pas program into a parallel program that will use my new scalable Parallel ForEach so that you will be able to learn more about parallel programming. So stay tuned ! You can look at my Graph3D unit inside the zip file and you will notice that it is good and it is easy to use. And you can port my project to C++ (this is why i am posting here).. You can download my Winmenus using wingraph and my Graph3D unit from: https://sites.google.com/site/scalable68/winmenus-using-wingraph Thank you, Amine Moulay Ramdane. |
Elephant Man <conanospamic@gmail.com>: Sep 09 08:22PM Article d'annulation posté via Nemo. |
Elephant Man <conanospamic@gmail.com>: Sep 09 08:22PM Article d'annulation posté via Nemo. |
Horizon68 <horizon@horizon.com>: Sep 09 12:53PM -0700 Hello... More explanation about my Graph3D unit that i have included inside the zipfile: About the Graph3D unit, it looks like the Graph unit of turbo pascal but it's for 3D graphism, and to understand the variables Rho,Theta,Phi,DE of the InitProj() method of Graph3D unit, please read what's below: When you run the demo program that is called cube3d.pas , here is the keys of the keyboard that permits you to run it: Right arrow: to increase the angle Theta(that is the variable Theta) to move in the plane XY anti-clockwise. Left arrow: to decrease the angle Theta(that is the variable Theta) to move in the plane XY clockwise. Top arrow: to increase the Phi(that is variable Phi) angle to move up and look at the cube from above. Bottom arrow: to decrease the Phi(that is variable Phi) angle to move down and look at the cube from below. Key A: to decrease R(that is variable Rho) to get closer to the cube, we can even penetrate it and pass behind, in the latter case the image obtained will be the opposite. Key E: to increase R(that is variable Rho) to move away from the cube. Key +: to increase the distance D(that is variable DE) between the screen and the eye, this causes an enlargement of the image. Key -: to decrease the distance D(that is variable DE) between the screen and the eye, this causes the image to shrink and possibly be an inverse magnification if D becomes negative, ie if the screen passes behind the observer. Key C: to move from perspective projection to parallel projection and vice versa. During this toggle the parameters which were current are stored in auxiliary variables (RhoResp, DEResp for the perspective and RhoPara, DEPara for the parallel projection) in order to be able to return to it correctly afterwards. Key F: To end the runnning program. You can download my Winmenus verion 1.1 from: https://sites.google.com/site/scalable68/winmenus-using-wingraph Thank you, Amine Moulay Ramdane. |
Horizon68 <horizon@horizon.com>: Sep 09 12:15PM -0700 Hello, Read this: Here is my new project that i have extended , you can port it to C++: My Winmenus using wingraph and Graph3D units were updated to version 1.1 I have just included a Graph3D unit that i have enhanced and that looks like graph unit of Turbo Pascal, and i have included a cube3d.pas demo and its windows executable, please run the windows executable called cube3d.exe inside the zipfile to see how Graph3D unit is powerful, and please read the readme file inside the zipfile to know more. I have implemented Winmenus using wingraph, this one is graphical, i have also included an Opengl demo and other demos , just execute the real3d1.exe executable inside the zipfile to see how it is powerful, i will soon enhance much more my Winmenus. Now it is both compatible with Delphi and with FreePascal, now it works with Delphi tokyo, but there is only one difference between Delphi and FreePascal, the double click with the left button of the mouse of freepascal is replaced in Delphi with a one click with the middle button of the mouse to avoid a problem. Description: Drop-Down Menu widget using the Object Pascal wingraph unit , it supports keyboard and mouse. Please look at the real3d1.pas demo inside the zip file, i have included its 64 bit executable, please run it and see(please double click with the mouse on the items to execute and click on the middle mouse to stop the demo, and press escape to exit from the demo). And use the 'Up' and 'Down' and 'PageUp and 'PageDown' to scroll the menu.. And 'Enter' to select an item from the menu.. And the 'Esc' on the keyboard to exit from the menu.. and right arrow and left arrow to scroll on the left or on the right of the menu Winmenus is event driven, i have to explain it more to you to understand more... At first you have to create your Widget menu by executing something like this: Menu1:=TMenu.create(5,5); This will create a Widget menu at the coordinate (x,y) in characters = (5,5) After that you have to set your callback function, cause my Winmenus is event driven, so you have to add an item with AddItem() and set the callback function at the same time, like this: AddItem('First 3D opengl demo',test1); test1 will be the callback function. When you execute menu1.execute(false) with a parameter equal to false my Winmenus widget will draw your menu without waiting for your input and events, when you set the parameter of the execute() method to true it will wait for your input and events, if the parameter of the execute method is true and the returned value of the execute method ctExit that means you have pressed on the Escape key to exit. About hte Graph3D unit, it looks like the Graph unit of turbo pascal but it's for 3D graphism, and to understand the variables Rho,Theta,Phi,DE of the InitProj() method of Graph3D unit, please read what's below: When you run the demo program that is called demo.pas , when you click "Cube3D demo", here is the keys of the keyboard that permits you to run it: Right arrow: to increase the angle Theta(that is the variable Theta) to move in the plane XY anti-clockwise. Left arrow: to decrease the angle Theta(that is the variable Theta) to move in the plane XY clockwise. Top arrow: to increase the Phi(that is variable Phi) angle to move up and look at the cube from above. Bottom arrow: to decrease the Phi(that is variable Phi) angle to move down and look at the cube from below. Key A: to decrease R(that is variable Rho) to get closer to the cube, we can even penetrate it and pass behind, in the latter case the image obtained will be the opposite. Key E: to increase R(that is variable Rho) to move away from the cube. Key +: to increase the distance D(that is variable DE) between the screen and the eye, this causes an enlargement of the image. Key -: to decrease the distance D(that is variable DE) between the screen and the eye, this causes the image to shrink and possibly be an inverse magnification if D becomes negative, ie if the screen passes behind the observer. Key C: to move from perspective projection to parallel projection and vice versa. During this toggle the parameters which were current are stored in auxiliary variables (RhoResp, DEResp for the perspective and RhoPara, DEPara for the parallel projection) in order to be able to return to it correctly afterwards. Key F: To end the runnning program. You can download my Winmenus verionn 1.1 from: https://sites.google.com/site/scalable68/winmenus-using-wingraph {$DEFINE CPU32} for 32 bit systems {$DEFINE CPU64} for 64 bit systems *********************************************************** IMPORTANT NOTE: This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented, you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. This notice may not be removed or altered from any source distribution. *********************************************************** If you make some money with my softwares in commercial projects, be kind to make a donation to me in form of an amount of money. To make this donation, please contact me by email and i will give you my personal information to where you will send this donation. Disclaimer: This software is provided on an "as-is" basis, with no warranties, express or implied. The entire risk and liability of using it is yours. Any damages resulting from the use or misuse of this software will be the responsibility of the user. Thank you. Amine Moulay Ramdane. |
Juha Nieminen <nospam@thanks.invalid>: Sep 09 09:43AM > pretty well, what you said was the closest thing you could find (so it's > probably what yo are starting from too) but you did not say what the > exceptions were so I can't be sure. Is an out-of-bounds access ill-formed? It's certainly UB. Accessing an array out of bounds is certainly not a syntactic error, nor a diagnosale semantic error (afaik). |
Ben Bacarisse <ben.usenet@bsb.me.uk>: Sep 09 11:35AM +0100 > Is an out-of-bounds access ill-formed? It's certainly UB. > Accessing an array out of bounds is certainly not a syntactic error, > nor a diagnosale semantic error (afaik). 1.4 Implementation compliance 1 The set of diagnosable rules consists of all syntactic and semantic rules in this International Standard except for those rules containing an explicit notation that "no diagnostic is required" or which are described as resulting in "undefined behavior." Since I imagine that out-of-bounds access is described as resulting in undefined behaviour, either explicitly or implicitly through a violated "shall", it does not result in the program being ill-formed. (I'm not as familiar with the C++ standard as I am with the C one so I am feeling my way here.) -- Ben. |
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page. To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com. |
No comments:
Post a Comment