16 Dec 2012

CoreGraphics2

That's Twiggy's official name now.

I've basically written a vertical slice of the new Nebula3 Render Layer during the past few weekends where I'm trying out a few ideas of what the Nebula3 rendering system will look like in the future.

The lowest-level subsystem is CoreGraphics2, which I wrote about already a little bit.

It wraps the host platform's 3D API (e.g. OpenGL or Direct3D), the rendering vocabulary is higher level / less verbose then OpenGL/D3D. It runs the render thread, but can be compiled without threading (on the emscripten platform for instance). There's a facade singleton object (CoreGraphics2Facade) which wraps the entire functionality into a surprisingly simple interface.

CoreGraphics2 works with only 5 resource types:
  1. Texture: Just what the name implies, a texture resource object. This also includes render targets.
  2. Mesh: This encapsulates all the required geometry data for a drawing operation: vertex buffer, index buffer (optional), vertex layout / vertex array definition, and "primitive groups" (basically sub-mesh definitions). 
  3. DrawState: This wraps all the required shader and render-state data for a drawing operation: a reference to a shader object, shader constants (one-time-init, immutable), shader variables (mutable) and an (immutable) state-block for render-states.
  4. Pass: A pass object holds all required data for a rendering pass, this includes a render-target-texture object, and a DrawState object which defines state which is valid for the rendering pass. All rendering must happen inside passes. Typical passes in a pre-light-pass renderer are for instance the NormalDepth-Pass, the Light-Pass, the Material-Pass, and a Compose-Pass. The pass object also contains the information whether and how the render target should be cleared at the start of the pass.
  5. Batch: A batch object just contains a DrawState object which defines render state for several draw operations, so this is just a way to reduce redundant state switches.
Resource objects are opaque to the outside. To the caller, these are just ResourceId objects, there's no way to directly access the data in the resource objects (since they actually live in the render thread).

Resource creation happens by passing a Setup object to one of the Create methods in the CoreGraphics2Facade singleton. There's one Setup class for each resource type (so basically TextureSetup, MeshSetup, DrawStateSetup, PassSetup and BatchSetup). The Setup object basically describes how the resource should be created and shared (for instance when creating a texture resource, the Setup object would contain the path to the texture file, whether the texture should be loaded asynchronously, whether the texture object should be a render target, and so on). The render thread will keep the Setup objects around, so it has all information available to re-create the resource (for instance because of D3D's lost device state, or for more advanced resource management where currently unused resources can be removed from memory, and re-loaded later).

All rendering happens by calling methods of CoreGraphics2Facade:

Begin / End methods:
These methods structure a frame into segments. 
  • BeginFrame / EndFrame: Signal the start and end of a render frame. 
  • BeginPass / EndPass: Signal start and end of a rendering pass. BeginPass takes the ResourceId of a Pass object, makes the render target of the pass active, optionally clears the render target, and applies the render state of the DrawState object of the pass.
  • BeginBatch / EndBatch: Signal start and end of a rendering batch. This simply applies the render state of the DrawState object of the batch.
  • BeginInstances / EndInstances: This is where it gets interesting. BeginInstances sets all the required state for a series of Draw commands. It takes a Mesh ResourceId, a DrawState ResourceId, and a "shader variation bitmask". The bitmask basically selects a "technique" from the shader (in D3DXEffects terms). For instance, to select the right shader technique for rendering the NormalDepth-pass of a skinned object, one would pass "NormalDepth|Skinning" as the bitmask.
Apply methods:
This method group applies dynamic state changes during a frame:
  • ApplyProjectionTransform, ApplyViewTransform, ApplyModelTransform: Sets the projection, view and model matrices.
  • ApplyVariable: applies a shader variable value to the currently active DrawState object (which has been set during BeginInstances). This is a template method, specialized for each shader variable data type (float, int, float4, matrix44, bool).
  • ApplyVariableArray: same as ApplyVariable, but for an array of values.
Draw methods:
This method group performs actual drawing operations:
  • Draw: Performs a single draw call, must be called inside BeginInstances/EndInstances. Renders a PrimitiveGroup (aka material group) from the currently active Mesh, using the render state defined in the currently active DrawState. For non-instanced rendering one would usually perform several ApplyModelTransform() / Draw() pairs in a row.
  • DrawInstanced: Like Draw, but takes an array of per-instance transforms to render the same mesh at many different positions. Tries to use some sort of hardware instancing, but falls back to a "tight render loop" if no hardware instancing is available.
  • DrawFullscreenQuad: simply render a fullscreen quad with the currently set DrawState, this is used for fullscreen-post-effects
And that's it basically. I'm quite happy with how simple everything looks from the outside, and how straight-forward the innards work. For instance, leaving the shader system aside (which is implemented in a separate subsystem CoreShader), the OpenGL specific code in CoreGraphics2 is just 7 classes, and the biggest file is around 600 lines of code.

And it's simple to use, for instance here's the render loop to render the point lights in the new LightPrePassRenderer (hopefully the Blogger editor won't screw up my formatting):
    CoreGraphics2Facade* cg2Facade = CoreGraphics2Facade::Instance();
    if (this->pointLights.Size() > 0)
    {
        cg2Facade->BeginInstances(this->pointLightMesh, this->lightDrawState, this->pointLightFeatureBits, false);
        IndexT i;
        for (i = 0; i < this->pointLights.Size(); i++)
        {
            const Light* curLight = this->pointLights[i];
            const matrix44& lightTransform = curLight->GetTransform();
            
            // compute light position in view space, and set .w to inverted light range
            float4 posAndRange = matrix44::transform(lightTransform.get_position(), this->viewTransform);
            posAndRange.w() = 1.0f / lightTransform.get_zaxis().length();
            
            // update shader params
            cg2Facade->ApplyModelTransform(lightTransform);
            cg2Facade->ApplyVariable<float4>(LightPosRange, posAndRange);
            cg2Facade->ApplyVariable<float4>(LightColor, curLight->GetColor());
            cg2Facade->ApplyVariable<float>(LightSpecularIntensity, curLight->GetSpecularIntensity());
            cg2Facade->Draw(0);
        }
        cg2Facade->EndInstances();
    }
The only thing that's still missing from CoreGraphics2 is dynamic resources and a plugin system to extend functionality of the render-thread side with custom code (for instance for non-essential stuff like runtime resource baking). 

As much as I'd love to have a rendering system where dynamic resources aren't needed at all, there's no way around them yet. We still need them for particle systems and UI rendering.

On the front-end of the render layer, there's the new Graphics2 subsystem. The changes are not as radical as in CoreGraphics2 (with good reason because changes in this subsystem would affect a lot of high level gameplay code). There are still the basic object types Stage, View, Camera, Light and Model. There's now a new GraphicsFacade object, which simplifies setup and manipulation of the graphics world drastically. And I tried out a new component-system for GraphicsEntities (Models, Lights and Cameras). Instead of a inheritance hierarchy for the various GraphicsEntity types, there's now only one GraphicsEntity class which owns a set of Component objects. The combination of those components is what turns a GraphicsEntity into a visible 3D model, a light source, or a camera. The main driver behind this was that 90% of all data in a ModelEntity was character related, but less then 10% of graphics objects in a typical graphics world are actually characters.

I've split the existing functionality into the following entity components:
  • TransformComponent: defines the entity's position and bounding box volume in world space.
  • TimingComponent: keeps track of the entity-local time
  • VisibilityComponent: attached the entity to the Visibility subsystem (view frustum culling)
  • ModelComponent: renders the entity as a simple 3D object
  • CharacterComponent: additional functionality for skinned characters (animations, skins, joint attachments, ...)
  • LightComponent: turns the entity into a light source
  • CameraComponent: turns the entity into a camera
This component model hasn't really been written to allow strange combinations (you might be tempted to attach a CameraComponent to a Character-entity for a first person shooter). Theoretically something like this might be even possible, but I don't think it is a good idea. The driving force behind the component model was cleaner code and better memory usage.

130 comments:

Tom Hudson said...

One bit of confusion: CoreGraphics is Apple's in-house engine.

Unknown said...

Yeah, and also the namespace-name of Nebula3's low-level render API wrapper. There's only so many descriptive names you can choose from ;)

Dmitry said...

Happy New Year Floh!
Thank you for your posts!

JAHAN said...

Howdy, would you mind letting me know which web host you’re utilizing? I’ve loaded your blog in 3 completely different web browsers, and I must say this blog loads a lot quicker than most. Can you suggest a good internet hosting provider at a reasonable price?
Amazon Web Services Training in OMR , Chennai | Best AWS Training in OMR,Chennai
Amazon Web Services Training in Tambaram, Chennai|Best AWS Training in Tambaram, Chennai

genga g said...
This comment has been removed by the author.
genga g said...



Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog. Really very informative post you shared here. Kindly keep blogging.

angularjs-Training in velachery

angularjs-Training in annanagar

angularjs Training in chennai

angularjs Training in chennai

Unknown said...

This is a good post. This post give truly quality information. I’m definitely going to look into it. Really very useful tips are provided here. thank you so much. Keep up the good works.
python training in velachery | python training institute in chennai



Unknown said...

Really very nice blog information for this one and more technical skills are improve,i like that kind of post.
advanced excel training in bangalore

jeeva said...

Wow it is really wonderful and awesome thus it is very much useful for me to understand many concepts and helped me a lot. it is really explainable very well and i got more information from your blog.

blueprism training in chennai | blueprism training in bangalore | blueprism training in pune | blueprism online training

afiah b said...

This is such a good post. One of the best posts that I\'ve read in my whole life. I am so happy that you chose this day to give me this. Please, continue to give me such valuable posts. Cheers!
Java training in Tambaram | Java training in Velachery

Java training in Omr | Oracle training in Chennai

nilashri said...

Wow it is really wonderful and awesome thus it is very much useful for me to understand many concepts and helped me a lot. it is really explainable very well and i got more information from your blog.

Data Science training in Chennai | Data science training in bangalore

Data science training in pune | Data science online training

Data Science Interview questions and answers


Praylin S said...

Thanks for taking time to share this wonderful post! Looking forward for more such posts from you.
Oracle Training in Chennai | Oracle Training institute in chennai | Oracle course in Chennai | Oracle Training | Oracle Certification in Chennai | Best oracle training institute in Chennai | Best oracle training in Chennai | Oracle training center in Chennai | Oracle institute in Chennai | Oracle Training near me

suresh said...

Excellent Article. Thanks Admin



DevOps Training in Chennai

Cloud Computing Training in Chennai

IT Software Training in Chennai


ProPlus Logics said...

Hey Nice Blog!! Thanks For Sharing!!!Wonderful blog & good post.Its really helpful for me, waiting for a more new post. Keep Blogging!
SEO company in coimbatore
SEO company
web design company in coimbatore

sasireka said...

I have read a few of the articles on your website now, and I really like your style of blogging. I added it to my favourites blog site list and will be checking back soon.

devops online training

aws online training

data science with python online training

data science online training

rpa online training

sai said...

Thanks for the good words! Really appreciated. Great post. I’ve been commenting a lot on a few blogs recently, but I hadn’t thought about my approach until you brought it up. 
Microsoft Azure online training
Selenium online training
Java online training
Python online training
uipath online training

Aaditya said...

Thank you for this wonderful post, it is very useful and Excellent Blog! I would like to say thanks for the efforts you have made in writing this post.


Data Science Courses Bangalore

zaintech99 said...

Great post, thanks for your efforts,keep it up
ExcelR Data science courses in Bangalore

malaysiaexcelr01 said...


With so many books and articles coming up to give gateway to make-money-online field and confusing reader even more on the actual way of earning money,







DATA SCIENCE COURSE MALAYSIA

istiaq ahmed said...

I like viewing web sites which comprehend the price of delivering the excellent useful resource free of charge. I truly adored reading your posting. Thank you!
Data Science Course in Pune

zaintech99 said...

Nice information, valuable and excellent design, as share good stuff with good ideas and concepts, lots of great information and inspiration, both of which I need, thanks to offer such a helpful information here.
Great Post

lucy88 said...

Awesome blog. I enjoyed reading your articles. This is truly a great read for me. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work!.
Data Science Courses

Bushraah88 said...

Nice information, valuable and excellent design, as share good stuff with good ideas and concepts, lots of great information and inspiration, both of which I need, thanks to offer such a helpful information here.
Great Post

Data anlytic said...

Great Article… I love to read your articles because your writing style is too good, its is very very helpful for all of usYou will get an introduction to the Python programming language and understand the importance of it. How to download and work with Python along with all the basics of Anaconda will be taught. You will also get a clear idea of downloading the various Python libraries and how to use them.
Topics
About ExcelR Solutions and Innodatatics
Do's and Don’ts as a participant
Introduction to Python
Installation of Anaconda Python
Difference between Python2 and Python3
Python Environment
Operators
Identifiers
Exception Handling (Error Handling)
Excelr Solutions

Bushraah88 said...

I am looking for and I love to post a comment that "The content of your post is awesome" Great work!
technewworld.in.

Bushraah88 said...

Very interesting, Wish to see much more like this. Thanks for sharing your information!
One data science
One Machine Learning

zaintech99 said...

I got know your article’s Content and your article skill both are always good. Thanks for sharing this article this content is very significant for me I really appreciate you.
One data science
One Machine Learning

Malijue said...

Very interesting, Wish to see much more like this. Thanks for sharing your information!
Data science
Learn Machine

datasciencecertification said...

I love your article so much. Good job
ExcelR is a global leader delivering a wide gamut of management and technical training over 40 countries. We are a trusted training delivery partner of 350+ corporate clients and universities across the globe with 28,000+ professionals trained across various courses. With over 20 Franchise partners all over the world, ExcelR helps individuals and organisations by providing courses based on practical knowledge and theoretical concepts.

Excelr Solutions

Bushraah88 said...

Really very happy to say,your post is very Awesome to read.I never stop myself to say something about it.You’re doing a Great job.keep it up
www.bexteranutrition.com
www.digital marketingfront.com
designing info.in
www.https://www.hindimei.net

Bushraah88 said...

Really very happy to say,your post is very Awesome to read.I never stop myself to say something about it.You’re doing a Great job.keep it up
www.bexteranutrition.com
www.digital marketingfront.com
designing info.in
www.https://www.hindimei.net

datasciencecourse said...

Such a great and informative article.
You just made my day thanks for sharing this article.

data science course singapore is the best data science course

seoexpert said...

Nice Post...I have learn some new information.thanks for sharing.
Click here for ExcelR Business Analytics Course

easylearn said...

Hi,
Good job & thank you very much for the new information, i learned something new. Very well written. It was sooo good to read and usefull to improve knowledge. Who want to learn this information most helpful. One who wanted to learn this technology IT employees will always suggest you take python training in bangalore. Because python course in Bangalore is one of the best that one can do while choosing the course.

Unknown said...

I like you article. if you you want to saw Sufiyana Pyaar Mera Star Bharat Serials Full
Sufiyana Pyaar Mera

MovieNews said...

If you want to get the Latest Tamil Movie Online the isaimi is the best Website available on the Internet.

Vijiaajith said...

Nice
freeinplanttrainingcourseforECEstudents
internship-in-chennai-for-bsc
inplant-training-for-automobile-engineering-students
freeinplanttrainingfor-ECEstudents-in-chennai
internship-for-cse-students-in-bsnl
application-for-industrial-training

Vijiaajith said...

good
interview-questions/aptitude/permutation-and-combination/how-many-groups-of-6-persons-can-be-formed

tutorials/oracle/oracle-delete

technology/chrome-flags-complete-guide-enhance-browsing-experience/

interview-questions/aptitude/time-and-work/a-alone-can-do-1-4-of-the-work-in-2-days


interview-questions/programming/recursion-and-iteration/integer-a-40-b-35-c-20-d-10-comment-about-the-output-of-the-following-two-statements

Pankaj Singh said...

Thank you so much for this useful article. Visit OGEN Infosystem for Web Designing and SEO Services in Delhi, India.
Best Website Designing Company in India

ExcelR Pune said...

Awesome..I read this post so nice and very imformative information...thanks for sharing
Click here for data science course

datasciencecourse said...

data science course bangalore is the best data science course

svrtechnologies said...

Thanks for sharing such an useful info..

oracle apex tutorial

raju said...

nice articles.......!
brunei darussalam hosting
inplant training in chennai

raju said...

good information.................!
dominican republic web hosting
iran hosting
palestinian territory web hosting
panama web hosting
syria hosting
services hosting
afghanistan shared web hosting
andorra web hosting
belarus web hosting

ammu said...

very nice...
gibraltar web hosting
iceland web hosting
lebanon web hosting
lithuania shared web hosting
inplant training in chennai

ammu said...

very nice....
brunei darussalam web hosting
costa rica web hosting
costa rica web hosting
hong kong web hosting
jordan web hosting
turkey web hosting

shree said...

nice...
luxembourg web hosting
mauritius web hosting mongolia web hosting
namibia web hosting
norway web hosting
rwanda web hosting
spain hosting
turkey web hosting
venezuela hosting
vietnam shared web hosting

shiv said...

nice.................
vietnam web hosting
google cloud server hosting
canada telus cloud hosting
algeeria hosting
angola hostig
shared hosting
bangladesh hosting
botswana hosting
central african republi hosting
shared hosting

preethi minion said...

nice..
inplant training in chennai
inplant training in chennai
inplant training in chennai for it.php
italy web hosting
afghanistan hosting
angola hosting
afghanistan web hosting
bahrain web hosting
belize web hosting
india shared web hosting

kani said...

nice..
hosting
india hosting
india web hosting
iran web hosting
technology 11 great image sites like imgur hosting
final year project dotnet server hacking what is web hosting
macao web hosting
inplant training in chennai
inplant training in chennai
inplant training in chennai for it.php

rajan said...

inplant training in chennai
inplant training in chennai
inplant training in chennai for it.php
chile web hosting
colombia web hosting
croatia web hosting
cyprus web hosting
bahrain web hosting
india web hosting
iran web hosting

shri said...

very nice.....
internship in chennai for ece students
internships in chennai for cse students 2019
Inplant training in chennai
internship for eee students
free internship in chennai
eee internship in chennai
internship for ece students in chennai
inplant training in bangalore for cse
inplant training in bangalore
ccna training in chennai


sugan said...

Excellent post.....
r programming training in chennai
internship in bangalore for ece students
inplant training for mechanical engineering students
summer internships in hyderabad for cse students 2019
final year project ideas for information technology
bba internship certificate
internship in bangalore for ece
internship for cse students in hyderabad
summer training for ece students after second year
robotics courses in chennai


ammu said...

excellent blogs.....!!!
chile web hosting
colombia web hosting
croatia web hosting
cyprus web hosting
bahrain web hosting
india web hosting
iran web hosting
kazakhstan web hosting
korea web hosting
moldova web hosting

sibiselvan said...

it is excellent blogs...!!
inplant training for diploma students
mechanical internship in chennai
civil engineering internship in chennai
internship for b.arch students in chennai
internship for ece students in core companies in chennai
internship in chandigarh for ece
industrial training report for computer science engineering on python
internship for automobile engineering students in chennai
big data training in chennai
ethical hacking internship in chennai

KUTTYMA said...

nice information....

winter internship for engineering students
internship for mca students
inplant training for eee students
inplant training for eee students/
java training in chennai
internships for eee students in hyderabad
ece internship
internship certificate for mechanical engineering students
internship in nagpur for computer engineering students
kaashiv infotech internship
internship for aeronautical engineering students in india 2019

anuarun said...

nice information......
ree internship in bangalore for computer science students
internship for aeronautical engineering
internship for eee students in hyderabad
internship in pune for computer engineering students 2018
kaashiv infotech internship fees
industrial training certificate format for mechanical engineering students
internship report on machine learning with python
internship for biomedical engineering students in chennai
internships in bangalore for cse
internship in coimbatore for ece

Unknown said...

I really enjoy simply reading all of your weblogs. Simply wanted to inform you that you have people like me who appreciate your work. Definitely a great post. Hats off to you! The information that you have provided is very helpful.
data science course

Johan said...

Thanks for this. I really like what you've posted here and wish you the best of luck with this blog and thanks for sharing.

oracle training in bangalore

sql server dba training in bangalore

web designing training in bangalore

digital marketing training in bangalore

java training in bangalore

kani said...

nice...
slovakia web hosting
timor lestes hosting
egypt hosting
egypt web hosting
ghana hosting
iceland hosting
italy shared web hosting
jamaica web hosting
kenya hosting
kuwait web hosting

raju said...

very nice blogger thanks for sharing............!!!
poland web hosting
russian federation web hosting
slovakia web hosting
spain web hosting
suriname
syria web hosting
united kingdom
united kingdom shared web hosting
zambia web hosting

shree said...

superb...
kyrgyzstan web hosting
lebanon web hosting
lithuania web hosting
macao hosting
madagascar web hosting
pakistan hosting
panama shared web hosting
paraguay web hosting
peru web hosting
philippines hosting

hari said...

very good.....
internship in bangalore for cse students
internship for aerospace engineering students in india
core companies in coimbatore for ece internship
paid internship in pune for computer engineering students
automobile internship in chennai
internship in chennai for eee with stipend
internship for bca students
dotnet training in chennai
aeronautical engineering internship
inplant training for ece students

preethi minion said...

Awesome blogs.....
robotics courses
inplant training in chennai for eee students
paid internships in hyderabad for cse students
list of architectural firms for internship in india
internship for mca students
matlab training in chennai
final year project for it
internship for production engineering students
aeronautical internship
inplant training report for civil engineering

sibiselvan said...


it is best blogs for you...!!!
paid internships in pune for computer science students
machine learning training in chennai
data science internship in chennai
dot net training in chennai
kaashiv infotech chennai
internship for aeronautical engineering students in india
internship in automobile industry
big data internship in chennai
machine learning internship in chennai
internship in chennai for it students

KUTTYMA said...

IT IS A BEST ONE FOR SEARCHING....
kaashiv infotech internship in bangalore
internship for ece
mba internship
final year project proposal for information technology
internships in chennai for ece students
companies for industrial visit in chennai for cse students
internship in bangalore for eee
internship in chennai
inplant training certificate format for mechanical engineering
internship for aeronautical engineering students in chennai


Praisy Margret said...

good..nice..
internships in bangalore for ece students 2019
internship for aeronautical engineering students in bangalore
kaashiv infotech chennai
internship for ece students in bangalore 2018
internship in chennai for eee with stipend
internship in chennai for mechanical engineering students
kaashiv infotech hyderabad
kaashiv infotech internship
internship in chennai for cse 2019
internship in aeronautical engineering

shalini said...


good.....
kaashiv infotech pune
industrial training report for electronics and communication
internships for cse
internship for automobile engineering students in bangalore
internships in bangalore for eee students
internship for civil engineering students in chennai 2019
internship in automobile companies in chennai
robotics chennai
final year projects for information technology

digitaltucr said...

I finally found great post here.I will get back here. I just added your blog to my bookmark sites. thanks.Quality posts is the crucial to invite the visitors to visit the web page, that's what this web page is providing.
data science course in bangalore
data science interview questions

Kayal said...

Wonderful blog...! This information is very helpful for enhancing my knowledge and Thank you...!
Oracle DBA Training in Chennai
best oracle dba training in chennai
Spark Training in Chennai
Oracle Training in Chennai
Graphic Design Courses in Chennai
Excel Training in Chennai
Unix Shell Scripting Training in Chennai
Placement Training in Chennai
Soft Skills Training in Chennai
JMeter Training in Chennai
Tableau Training in Chennai

Priyanka said...

Attend The Data Science Courses From ExcelR. Practical Data Science Courses Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Data Science Courses.
ExcelR Data Science Courses
Data Science Interview Questions

eminkakelly said...

At the point when you're attempting to get in shape, you need to ensure that your eating regimen is working for you. That is the reason you ought to be taking an enhancement called keto formation pills diet pills.

https://deliver4superior.com/

offpageseo70 said...

Nice blog,I understood the topic very clearly,And want to study more like this.
Data Scientist Course

Unknown said...

Build sophisticated applications leveraging the security of Amazon Web Services Cloud with the aid of our Amazon Web Services Certification Training Program. The AWS Training course preps you for the AWS Solution Architect Associate certification examinations. Master AWS Cloud Architecture, AWS EC2 services, AWS S3 services, AWS RDS and network service requirements and much more in this course. Join 360DigiTMG and enjoy the best AWS training in Hyderabad!.

https://360digitmg.com/amazon-web-services-aws-training-in-hyderabad

python training in vijayawada said...

This is a wonderful article, Given so much info in it, Thanks for sharing. CodeGnan offers courses in new technologies and makes sure students understand the flow of work from each and every perspective in a Real-Time environmen python training in vijayawada. , data scince training in vijayawada . , java training in vijayawada. ,

Data Science Course said...

Thanks for giving me the time to share such nice information. Thanks for sharing.


Data Science Course

renuka said...

Nice blog, I understood the topic very clearly, And want to study more like this data science training Data-Analytics course

nikhil reddy said...


Thanks For Sharing Content


Machine Learning Course Training In Hyderabad

renuka said...

Very interesting, Wish to see much more like this. Thanks for sharing your information!
Data science training in Chennai
Data-science training in chennai

Unknown said...

This Was An Amazing ! I Haven't Seen This Type of Blog Ever ! Thankyou For Sharing, data science training

renuka said...

This is a wonderful article, Given so much info in it, These type of articles keeps the users interest in the website, and keep on sharing more ... good luck.
Data-science course

RIA Institute of Technology said...

Great post!! Thanks for sharing...
Oracle Training in Bangalore

Priyanka said...

Attend The Course in Data Analytics From ExcelR. Practical Course in Data Analytics Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Course in Data Analytics.
Course in Data Analytics
Data Science Interview Questions

priyash said...

wonderful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article resolved my all queries.
Data science Interview Questions

pinaylambingan said...

Great article thanks for the share,Watch All Pinoy Tv Dramas And Pinoy Tambayan Shows HD Online,You Can Also Watch Pinoy Lambingan Tv HD

Indian Dramas said...


Watch All Indian Dramas In HD,Star Plus And Tv Zee Tv All Indian Shows Online.

BIGG BOSS 14 said...

Great article thanks for the share,Bigg Boss 14 Full HD Show Online You Can Also Watch Bigg Boss 14 in hd Full Length

nikhil reddy said...

You have clarified the idea truly well. Was searching for this data from some time and fortunately I discovered your post. Searching forward for a greater amount of such useful updates from you
Data Science Training In Hyderabad
Data Science Course In Hyderabad

lionelmessi said...

Hi,Thanks for sharing nice information...

AI Training In Hyderabad

hrithiksai said...

This Was An Amazing ! I Haven't Seen This Type of Blog Ever ! Thankyou For Sharing, data science traning

Anebellyliza said...

Nice Post ! The concept has been explained very well. Thanks for sharing...
AI Training in Hyderabad

hrithiksai said...

https://jaxsharepoint.blogspot.com/2013/06/deploying-wsp-to-sharepoint-2013.html?showComment=1587974482362#c4601022411116886169

hrithiksai said...

This Was An Amazing ! I Haven't Seen This Type of Blog Ever ! Thankyou For Sharing, data science training

lionelmessi said...

Hi, Thanks for sharing nice articles...

Python Training In Hyderabad

lionelmessi said...

Hi, Thnaks for sharing wonderful information...

DevOps Training In Hyderabad

lionelmessi said...

Hi, Thanks for sharing wonderful stuff...

DevOps Training In Hyderabad

Anebellyliza said...

Hi, Thanks for sharing nice articles...


Machine Learning Training In Hyderabad

bavisthra said...

Study ExcelR Digital Marketing Courses in Bangalore where you get a great experience and better knowledge.

nikhil reddy said...

Hi, Thanks for sharing wonderful blog post...

Data Science Training In Hyderabad

priyash said...

Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspried me to read more. keep it up.
Correlation vs Covariance

lionelmessi said...

Thanks For the Content Sharing
AWS Training in Hyderabad
AWS Course in Hyderabad

tejaswini said...

I am looking for and I love to post a comment that "The content of your post is awesome" Great work!
data science course in malaysia

nikhil reddy said...

Hi, Thanks for sharing wonderful articles...

Data Science Training In Hyderabad

Avijit said...

It's truly an honor to run across informational content like this. You are clearly knowledgeable on this topic and you have unique views to share.

SEO Services in Kolkata
Best SEO Services in Kolkata
SEO Company in Kolkata
Best SEO Company in Kolkata
Top SEO Company in Kolkata
Top SEO Services in Kolkata
SEO Services in India
SEO Company in India

tejaswini said...

It’s very informative and you are obviously very knowledgeable in this area. You have opened my eyes to varying views on this topic with interesting and solid content.
data science bootcamp malaysia

nakshatra said...

I am impressed by the information that you have on this blog. It shows how well you understand this subject.
https://360digitmgdataanalytics.blogspot.com/2020/05/the-data-analytic-course-basics.html

nakshatra said...

Welcome to the party of my life here you will learn everything about me.
https://360digitmgdataanalytics.blogspot.com/2020/06/data-analytics-course-and-its-evolution.html

eazyclasses said...

On the off chance that individuals that compose articles thought progressively about composing incredible material like you, more perusers would peruse their substance. It's invigorating to discover such unique substance in an in any case duplicate feline world. Much obliged to you to such an extent.


Online Teaching Platforms
Online Live Class Platform
Online Classroom Platforms
Online Training Platforms
Online Class Software
Virtual Classroom Software
Online Classroom Software
Learning Management System
Learning Management System for Schools
Learning Management System for Colleges
Learning Management System for Universities

Priyanka said...

Attend The Data Analytics Courses From ExcelR. Practical Data Analytics Courses Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Data Analytics Courses.
Data Analytics Courses

BestTrainingKolkata said...

It has been a long time since I've read anything so informative and compelling. I'm waiting for the next article from the writer. Thank you.
SAP training in Kolkata
Best SAP training in Kolkata
SAP training institute in Kolkata

BestTrainingMumbai said...

You realize whilst you're analyzing content material written with the aid of an expert, or at the least a completely sensible writer. This article is genuinely ideal in my opinion.
SAP training in Mumbai
Best SAP training in Mumbai
SAP training institute Mumbai

sushmi reddy said...

Thanks for the good words! Really appreciated. Great post. I’ve been commenting a lot on a few blogs recently, but I hadn’t thought about my approach until you brought it up.
Oracle Training | Online Course | Certification in chennai | Oracle Training | Online Course | Certification in bangalore | Oracle Training | Online Course | Certification in hyderabad | Oracle Training | Online Course | Certification in pune | Oracle Training | Online Course | Certification in coimbatore

Anebellyliza said...

The context has been explained really well. Looking forward to see more of such informative updates
Machine Learning Training in Hyderabad

nikhil reddy said...

Hi, Thanks for sharing wonderful articles..

Data Science Training In Hyderabad

datasciencecourse said...

I am looking for and I love to post a comment that "The content of your post is awesome" Great work!

Simple Linear Regression

Correlation vs Covariance

Data Science pune said...

Awesome blog. I enjoyed reading your articles. This is truly a great read for me. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work!
Data Science Course in Pune
Data Science Training in Pune

Data Science Training said...

I feel really happy to have seen your web page and look forward to so many more entertaining times reading here. Thanks once more for all the details.
Data Science Training in Hyderabad | Data Science Course in Hyderabad

Data Analytics Pune said...

I feel very grateful that I read this. It is very helpful and very informative and I really learned a lot from it.
Data Analytics Course in Pune
Data Analytics Training in Pune

Business Analytics Course said...

I am impressed by the information that you have on this blog. It shows how well you understand this subject.
Business Analytics Course in Pune
Business Analytics Training in Pune

training course said...

You are in point of fact a just right webmaster. The website loading speed is amazing. It kind of feels that you're doing any distinctive trick. Moreover, The contents are masterpiece. you have done a fantastic activity on this subject!
Business Analytics Training in Hyderabad | Business Analytics Course in Hyderabad

Avijit said...

In the event that I needed to give an extraordinary case of top quality substance, this article would be it. It's an elegantly composed critique that holds your advantage.


Denial management software
Denials management software
Hospital denial management software
Self Pay Medicaid Insurance Discovery
Uninsured Medicaid Insurance Discovery
Medical billing Denial Management Software
Self Pay to Medicaid
Charity Care Software
Patient Payment Estimator
Underpayment Analyzer
Claim Status

Cyber Security said...

Nice blog. I finally found great post here Very interesting to read this article and very pleased to find this site. Great work!
Data Science Training in Pune
Data Science Course in Pune

lionelmessi said...

Excellent article useful to all the aspirants.

DevOps Course Training in Hyderabad
Best DevOps Course Training in Hyderabad

priyash said...

Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
Correlation vs Covariance
Simple linear regression
data science interview questions

Data Science Bangalore said...

Very interesting blog. Many blogs I see these days do not really provide anything that attracts others, but believe me the way you interact is literally awesome.You can also check my articles as well.

Data Science In Banglore With Placements
Data Science Course In Bangalore
Data Science Training In Bangalore
Best Data Science Courses In Bangalore
Data Science Institute In Bangalore

Thank you..

Priyanka said...

Attend The Data Analyst Course From ExcelR. Practical Data Analyst Course Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Data Analyst Course.
Data Analyst Course

EXCELR said...

Great post i must say and thanks for the information.
Data Science Training in Hyderabad

priyanka said...

Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
Correlation vs Covariance
Simple linear regression
data science interview questions

priyanka said...

Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article. This article inspired me to read more. keep it up.
Correlation vs Covariance
Simple linear regression
data science interview questions

hookstefan said...

Use making organizations under Assignment Helper to redesign your educational execution. These organizations are available with 24*7 customer sponsorship to give minute support to all understudies. By and by, the opportunity has arrived to visit the site and proclamation your solicitation. write my essay
pharmacy assignment help in UK