Perl OpenGL
ಪರ್ಲ್ ಓಪನ್ ಜಿಎಲ್ (ಪಿಒಜಿಎಲ್) ಒಂದು ಪೋರ್ಟಬಲ್, ಕಂಪೈಲ್ ಮಾಡಲಾದ ರೇಪರ್ ಲೈಬ್ರರಿಯಾಗಿದ್ದು, ಇದು ಓಪನ್ ಜಿಎಲ್ ಅನ್ನು ಪರ್ಲ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಲ್ಲಿ ಬಳಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಪಿಒಜಿಎಲ್ ಹೆಚ್ಚಿನ ಓಪನ್ಜಿಎಲ್ 2 ವಿಸ್ತರಣೆಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ನಿರ್ದಿಷ್ಟ ಪ್ರೊಕ್ ಹ್ಯಾಂಡ್ಲರ್ಗಳನ್ನು ಅಮೂರ್ತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಸರಳ ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ವಿಂಡೋಯಿಂಗ್ ಇಂಟರ್ಫೇಸ್ ಓಪನ್ಜಿಎಲ್ ಯುಟಿಲಿಟಿ ಟೂಲ್ಕಿಟ್ (ಜಿಎಲ್ಯುಟಿ) ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಸ್ಟ್ರಿಂಗ್ಗಳು ಮತ್ತು ಸರಣಿಗಳನ್ನು ರವಾನಿಸಲು ಮತ್ತು ಹಿಂದಿರುಗಿಸಲು ಪಿಒಜಿಎಲ್ ಹೆಚ್ಚುವರಿ ಪರ್ಲ್-ಸ್ನೇಹಿ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಇಂಟರ್ಫೇಸ್ಗಳನ್ನು (ಎಪಿಐ) ಒದಗಿಸುತ್ತದೆ. ಪರ್ಲ್ ಓಪನ್ಜಿಎಲ್ನ ಪ್ರಾಥಮಿಕ ನಿರ್ವಾಹಕರು ಕ್ರಿಸ್ ಮಾರ್ಷಲ್. 2011ರ ಜುಲೈ 3ರ ಹೊತ್ತಿಗೆ, SourceForge.net ನಲ್ಲಿನ ಪರ್ಲ್ ಓಪನ್ಜಿಎಲ್ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಯಿತು ಮತ್ತು ಮುಂದೆ ಸಾಗುವ ಎಲ್ಲಾ ಅಭಿವೃದ್ಧಿ ಮತ್ತು ಮಾಡ್ಯೂಲ್ ಬೆಂಬಲವು ಅಲ್ಲಿಗೆ ಹೋಗಿದೆ. ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಬೆಂಬಲ ಮೈಕ್ರೋಸಾಫ್ಟ್ ವಿಂಡೋಸ್ಃ ಎನ್ಟಿ-ಎಕ್ಸ್ಪಿ-ವಿಸ್ಟಾ-7 ಓಎಸ್ ಎಕ್ಸ್ಃ ಆವೃತ್ತಿ ಮ್ಯಾಕ್ ಓಎಸ್ ಎಕ್ಸ್ v10.x ಮಾತ್ರ ಲಿನಕ್ಸ್ಃ ಫೆಡೋರಾ, ಡೆಬಿಯನ್, ಉಬುಂಟು, ಜೆಂಟೂ ಫ್ರೀಬಿಎಸ್ಡಿ ಸೋಲಾರಿಸ್ ದೃಢೀಕರಿಸಲಾಗಿದೆಃ ಎನ್ವಿಡಿಯಾ (ಕ್ವಾಡ್ರೋ-110ಎಂ, 6600,6800,7300,7800,7950,8800) ಎಟಿಐ (ರೇಡಿಯನ್ 9000/9200, ಫೈರ್ಜಿಎಲ್) ಸಿಗ್ವಿನ್/ಎಕ್ಸ್ ವಿಂಡೋ ಸಿಸ್ಟಮ್ (ಮೆಸಾ) ಇಂಟರ್ಆಪರೇಬಿಲಿಟಿ ಪರ್ಲ್ ಡೇಟಾ ಲ್ಯಾಂಗ್ವೇಜ್ ಪಿಒಜಿಎಲ್ ಅನ್ನು ಪರ್ಲ್ ಡೇಟಾ ಲ್ಯಾಂಗ್ವೇಜ್ (ಪಿಡಿಎಲ್) ನಲ್ಲಿ 3ಡಿ ಗ್ರಾಫಿಕ್ಸ್ಗಾಗಿ ಓಪನ್ಜಿಎಲ್ ಬೈಂಡಿಂಗ್ ಆಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಇಮೇಜ್ ಮ್ಯಾಜಿಕ್ಃ ಇಮೇಜ್ ಲೋಡಿಂಗ್, ಮಾರ್ಪಡಿಸುವುದು, ಉಳಿಸುವುದು ಪಿಒಜಿಎಲ್ ತಂಡವು ಇಮೇಜ್ ಮ್ಯಾಜಿಕ್ ತಂಡದೊಂದಿಗೆ ಪರ್ಲ್ ಮ್ಯಾಜಿಕ್ ಎಪಿಐಗಳನ್ನು ಸೇರಿಸಲು ಸಹಕರಿಸಿದೆ, ಇದು ಜಿಪಿಯುಗಳು ಮತ್ತು ಇಮೇಜ್ ಮ್ಯಾಜಿಕ್ ಅನ್ನು ಸಿ ಪಾಯಿಂಟರ್ಗಳ ಮೂಲಕ ಕ್ಯಾಶ್ ಬಫರ್ಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ-ಎಫ್ಬಿಒಗಳು ಮತ್ತು ವಿಬಿಒಗಳಿಗೆ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಉತ್ತಮಗೊಳಿಸುತ್ತದೆ-ಲೋಡಿಂಗ್ ಮತ್ತು ಉಡುಗೆಗಳನ್ನು ಉಳಿಸಲು ಮತ್ತು ಜಿಪಿಜಿಪಿಯು ಡೇಟಾ ವರ್ಗಾವಣೆಯೊಂದಿಗೆ ಬಳಸಲು. ಈ ಎಪಿಐಗಳನ್ನು ಇಮೇಜ್ಮ್ಯಾಜಿಕ್ 6.3ಕ್ಕೆ ಸೇರಿಸಲಾಗಿದೆಃ ಪಡೆಯಿರಿ ('ದೃಶ್ಯ')-ಐಎಂ ಚಿತ್ರದಲ್ಲಿನ ದೃಶ್ಯಗಳ ಸಂಖ್ಯೆಯನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ಪಡೆಯಿರಿ ('ಕ್ವಾಂಟಮ್')-ಐಎಂನ ಕ್ಯಾಶ್ ಆಳವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ. GetImagePixels ()-ಒಂದು C ಪಾಯಿಂಟರ್ ಅನ್ನು IMನ ಇಮೇಜ್ ಕ್ಯಾಶ್ಗೆ ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ಸಿಂಕ್ಐಮೇಜ್ಪಿಕ್ಸೆಲ್ಸ್ ()-ಬರೆಯುವಿಕೆಯ ನಂತರ ಸಿಂಕ್ನ ಐಎಂನ ಇಮೇಜ್ ಕ್ಯಾಶ್ (ದೊಡ್ಡ/ಪುಟದ ಚಿತ್ರಗಳಿಗಾಗಿ). ಎಫ್ಎಫ್ಎಂಪಿಇಜಿಃ ವೀಡಿಯೊ ಫ್ರೇಮ್ ಟೆಕಶ್ಚರ್ಗಳು ಸಿಪಿಎಎನ್ನ ಎಫ್ಎಫ್ಎಂಪಿಇಜಿ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಪಿಒಜಿಎಲ್ ಮತ್ತು ಮೇಲಿನ ಫೈಲ್ಃಃ ಮ್ಯಾಜಿಕ್ ಎಪಿಐಗಳೊಂದಿಗೆ ವೀಡಿಯೊವನ್ನು ಓಪನ್ಜಿಎಲ್ ಟೆಕಶ್ಚರ್ಗಳಿಗೆ ಮ್ಯಾಪ್ ಮಾಡಲು ಬಳಸಬಹುದು. ಕಾರ್ಯಕ್ಷಮತೆ ಪರ್ಲ್ ವರ್ಸಸ್ ಸಿ ಜನರಲ್ ಪರ್ಪಸ್ ಗ್ರಾಫಿಕ್ಸ್ ಪ್ರೊಸೆಸಿಂಗ್ ಯುನಿಟ್ (ಜಿಪಿಯು, ಜಿಪಿಜಿಪಿಯು) ಸಂಸ್ಕರಣೆಯು ಪರ್ಲ್ ಅನ್ನು ಕಾರ್ಯಕ್ಷಮತೆಯಲ್ಲಿ ಸಂಕಲಿಸಿದ ಭಾಷೆಗಳೊಂದಿಗೆ ಹೋಲಿಸಬಹುದಾದ ಒಂದು ಕ್ಷೇತ್ರವಾಗಿದೆ. ತಮ್ಮ ಸ್ವಂತ ಮಾನದಂಡಗಳ ಆಧಾರದ ಮೇಲೆ, ಪರ್ಲ್ ಓಪನ್ಜಿಎಲ್ ಅಭಿವರ್ಧಕರು ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ರಚಿಸಲಾದ ವಿನ್ಯಾಸ ನಕ್ಷೆಗಳೊಂದಿಗೆ ನೈಜ ಸಮಯದ 3ಡಿ ಅನಿಮೇಟೆಡ್ ವಸ್ತುವನ್ನು ನಿರೂಪಿಸುವಾಗ ಸಿ ಮತ್ತು ಪರ್ಲ್ (ಪಿಒಜಿಎಲ್ ಮೂಲಕ) ನಡುವೆ ಯಾವುದೇ ಗಮನಾರ್ಹ ಕಾರ್ಯಕ್ಷಮತೆಯ ವ್ಯತ್ಯಾಸಗಳಿಲ್ಲ ಎಂದು ಹೇಳುತ್ತಾರೆ. ಜಿಪಿಜಿಪಿಯು ವರ್ಟೆಕ್ಸ್ ಶೇಡರ್ಗಳು ದತ್ತಾಂಶದ ದೊಡ್ಡ ಸರಣಿಗಳಲ್ಲಿ ಸಂಕೀರ್ಣ ಸಿ-ರೀತಿಯ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು, ಸಿಪಿಯು ಅನ್ನು ವಿರಳವಾಗಿ ಸ್ಪರ್ಶಿಸಬಹುದು ಎಂದು ಹೇಳುವ ಮೂಲಕ ಅವರು ತಮ್ಮ ಫಲಿತಾಂಶಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುತ್ತಾರೆ. ಪರ್ಲ್ ವರ್ಸಸ್ ಪೈಥಾನ್ ಪರ್ಲ್ ಓಪನ್ಜಿಎಲ್ ಅಭಿವರ್ಧಕರು ಪಿಒಜಿಎಲ್ ಪೈಥಾನ್ಗಿಂತ ಶೇಕಡಾ 20 ಕ್ಕಿಂತ ಹೆಚ್ಚು ವೇಗವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಹೇಳುತ್ತಾರೆ. ಓಪನ್ ಜಿಎಲ್ ಆಬ್ಜೆಕ್ಟ್ಸ್ ಪಿಒಜಿಎಲ್ ಪರ್ಲ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೆಚ್ಚಿಸುವ ವಿಶೇಷ ವಸ್ತುಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಪಿಒಜಿಎಲ್ ವಸ್ತುಗಳು ಡೇಟಾವನ್ನು ಟೈಪ್ ಮಾಡಿದ ಸಿ ಸರಣಿಗಳಾಗಿ ಸಂಗ್ರಹಿಸುತ್ತವೆ ಮತ್ತು ಸಿ ಪಾಯಿಂಟರ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಎಪಿಐಗಳ ನಡುವೆ ಡೇಟಾವನ್ನು ರವಾನಿಸುತ್ತವೆ-ಇಂಟರ್ಫೇಸ್ಗಳ ನಡುವೆ ಡೇಟಾವನ್ನು ರವಾನಿಸುವಾಗ ನಕಲಿಸುವ/ಪರಿವರ್ತಿಸುವ/ಎರಕಹೊಯ್ದ ಮಾಡುವ ಅಗತ್ಯವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. ಓಪನ್ ಜಿಎಲ್ಃಃ ಅರೇ (ಒಜಿಎ) ಒಜಿಎಗಳು ಓಪನ್ ಜಿಎಲ್ ಡೇಟಾವನ್ನು ಟೈಪ್ ಮಾಡಿದ ಸಿ ಅರೇಗಳಾಗಿ ಸಂಗ್ರಹಿಸುತ್ತವೆ. ಒಜಿಎಗಳು ಸಿ ಪಾಯಿಂಟರ್, ಪರ್ಲ್ ಪ್ಯಾಕ್ಡ್ ಸರಣಿಗಳು (ತಂತಿಗಳು) ಅಥವಾ ಪರ್ಲ್ ಸರಣಿಗಳಿಂದ ತುಂಬಿರಬಹುದು. ಜಿಪಿಯು ಮತ್ತು ಪರ್ಲ್ ನಡುವೆ ದತ್ತಾಂಶವನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಓಜಿಎಗಳನ್ನು ವಿಬಿಒಗಳಿಗೆ ಬಂಧಿಸಬಹುದು/ಮ್ಯಾಪ್ ಮಾಡಬಹುದು. ಆಕ್ಸೆಸರ್ ವಿಧಾನಗಳು ಸಿ ಪಾಯಿಂಟರ್, ಪ್ಯಾಕ್ ಮಾಡಿದ ಸರಣಿಗಳು ಅಥವಾ ಪರ್ಲ್ ಸರಣಿಗಳಿಂದ ರಚನೆಯ ಅಂಶಗಳನ್ನು ಪಡೆಯಲು/ಹೊಂದಿಸಲು ಒಂದು ವಿಧಾನವನ್ನು ಒದಗಿಸುತ್ತವೆ. ಓಪನ್ ಜಿಎಲ್ಃಃ ಇಮೇಜ್ (ಒಜಿಐ) ಪಿಒಜಿಎಲ್ ಒಂದು ಕಂಪೈಲ್ ಮಾಡ್ಯೂಲ್ ಆಗಿದೆ, ಮತ್ತು ಡೇಟಾ ಸರಣಿಗಳನ್ನು (ಟೆಕಶ್ಚರ್ಗಳು) ಲೋಡ್ ಮಾಡಲು/ಉಳಿಸಲು ಕಂಪೈಲ್ ಮಾಡಿದ ಇಮೇಜಿಂಗ್ ಮಾಡ್ಯೂಲ್ಗಳೊಂದಿಗೆ (ಇಮೇಜ್ಮ್ಯಾಜಿಕ್ನಂತಹ) ಬಳಸಬಹುದು. ಒಜಿಐಗಳು ವಿವಿಧ ಇಮೇಜಿಂಗ್ ಲೈಬ್ರರಿಗಳಿಂದ ಇಮೇಜ್ ಬಫರ್ಗಳನ್ನು ಕಟ್ಟಲು ಒಜಿಎಗಳನ್ನು ಬಳಸುತ್ತವೆ. ಒಜಿಐ ಓಪನ್ಜಿಎಲ್ ಟೆಕಶ್ಚರ್ಗಳು, ಎಫ್ಬಿಒಗಳು ಮತ್ತು ವಿಬಿಒಗಳನ್ನು ಲೋಡ್ ಮಾಡುವುದು/ಮಾರ್ಪಡಿಸುವುದು/ಉಳಿಸುವುದನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ. ಒಜಿಐ ಹೊಸ ಚಿತ್ರಣ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಬೆಂಬಲಿಸಲು ವಿಸ್ತರಿಸಬಹುದಾದ ಪ್ಲಗ್-ಇನ್ ವಿನ್ಯಾಸವನ್ನು ಒದಗಿಸುತ್ತದೆಃ ಒಜಿಐ ಇಮೇಜ್ಮ್ಯಾಜಿಕ್ (v6.3.5 ಅಥವಾ ಹೊಸದು) ಮತ್ತು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಟಾರ್ಗಾ (ಸಂಕ್ಷೇಪಿಸದ ಆರ್ಜಿಬಿಎ ಕಡತಗಳು) ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಒಜಿಐ ಇಮೇಜ್ಮ್ಯಾಗಿಕ್ನ ಇಮೇಜ್ ಕ್ಯಾಶ್ಗೆ ನೇರ ಸಿ ಪಾಯಿಂಟರ್ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಇದು ಜಿಪಿಯು ಮತ್ತು ಐಎಂ ನಡುವೆ ಚಿತ್ರಗಳು/ಡೇಟಾವನ್ನು ವರ್ಗಾಯಿಸುವಲ್ಲಿ ಕಾರ್ಯಕ್ಷಮತೆಯ ಸುಧಾರಣೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಓಪನ್ ಜಿಎಲ್ಃಃ ಶೇಡರ್ (ಒಜಿಎಸ್) ಒಎಸ್ಜಿ ಮಾಡ್ಯೂಲ್ ಎಆರ್ಬಿ (ಜೋಡಣೆ), ಸಿಜಿ ಮತ್ತು ಜಿಎಲ್ಎಸ್ಎಲ್ ಶೇಡಿಂಗ್ ಭಾಷೆಗಳಿಗೆ ಓಪನ್ ಜಿಎಲ್ ಎಪಿಐಗಳನ್ನು ಅಮೂರ್ತಗೊಳಿಸುತ್ತದೆ. $shdr = ಹೊಸ ಓಪನ್ ಜಿಎಲ್ಃಃ ಶೇಡರ್ (); ನನ್ನ $ext = lc ($shdr-> GetType ()); ನನ್ನ $ಸ್ಟೇಟ = $shdr-> ಲೋಡ್ಫೈಲ್ಸ್ ("ತುಣುಕು. $ext", "ಶೃಂಗ. $ext"); $shdr-> ಸಕ್ರಿಯಗೊಳಿಸಿ (); $ಶೇಡರ್-> ಸೆಟ್ವೆಕ್ಟರ್ ('ಮೇಲ್ಮೈ ಬಣ್ಣ', 1.0,0.5,0.0,1.0); $ಶೇಡರ್-> ಸೆಟಮ್ಯಾಟ್ರಿಕ್ಸ್ ('xಫಾರ್ಮ್', $xಫಾರ್ಮ್); #ಇಲ್ಲಿ ಎಳೆಯಿರಿ $shdr-> ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ (); ಮಾದರಿ ಅನುವಾದ ಸ್ಥಿತಿ ಕೆಳಗಿನ ಪಿಓಜಿಎಲ್ನ ಇತ್ತೀಚಿನ ಸಿಪಿಎಎನ್ ಬಿಡುಗಡೆ ಉಲ್ಲೇಖಗಳು ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಸಿ. ಪಿ. ಎ. ಎನ್. ಓಪನ್ ಜಿ. ಎಲ್. (ಪಿ. ಓ. ಜಿ. ಎಲ್.) ಸಿ. ಪಿ. ಎ. ಎನ್. ಓಪನ್ ಜಿ. ಎಲ್.-ಇಮೇಜ್ ಸಿ. ಪಿ. ಎ. ಎನ್. ಓಪನ್ ಜಿ. ಎಲ್.-ಶೇಡರ್ ಅಧಿಕೃತ ಪಿ. ಓ. ಜಿ. ಎಲ್. ಜಾಲತಾಣ-ದಾಖಲೆಗಳು, ಉದಾಹರಣೆಗಳು, ಮಾನದಂಡಗಳು, ಇತ್ತೀಚಿನ ನವೀಕರಣಗಳು ಪಿ. ಓ. ಜಿ. ಎಲ್. ವಿಡಿಯೋ ಗ್ಯಾಲರಿ ಪಿ. ಓ. ಜಿ. ಎಲ್. ಸ್ಯಾಂಪಲ್ ಟೆಸ್ಟ್ ಅಪ್ಲಿಕೇಶನ್ ಓಪನ್ ಜಿ. ಎಲ್.:: ಅರೇ (ಓ. ಜಿ. ಎ.) ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಓಪನ್ ಜಿ. ಎಲ್.:: ಇಮೇಜ್ (ಓ. ಜಿ. ಐ.) ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಓಪನ್ ಜಿ. ಎಲ್.:: ಶೇಡರ್ (ಓ. ಜಿ. ಎಸ್.) ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಪಿ. ಓ. ಜಿ. ಎಲ್. ಕರೆಂಟ್ಸ್ಃ ಪಿ. ಓ. ಜಿ. ಎಲ್. ಡೆವಲಪರ್ಸ್ ಬ್ಲಾಗ್ SIGGRAPH